是的,这是由于模块系统。您正在访问内部API,默认情况下,JPMS不会允许您这样做。
快速解决
要快速解决此问题,请对消息提及的每个软件包使用命令行选项
--add-exports %module/%package=ALL-UNNAMED,例如:
--add-exports java.desktop/com.sun.java.swing.plaf.windows=ALL-UNNAMED
(不,没有通配符)您必须将它们添加到Java 9+的构建命令中,并在某些时候(可能是Java 12+)也添加到执行命令中。
正确修复
如前所述,这只是一个快速修复。有了模块系统,JDK团队可能会更积极地重构您正在使用的API之类的内部组件,因此将来可能会遇到类更改或删除的问题。
正确的解决方法是删除对这些内部组件的依赖。第一步是检查您在此使用的功能是否同时已获得标准化的API。



