Java 9 中的 --add-exports 和 --add-opens 有什么区别?
2022-08-31 12:44:59
Java 9 (jdk-9+170) 在缺省情况下不允许应用程序查看 JDK 中的所有类,这与以前所有版本的 Java 不同,因为采用了新的模块系统。
为了解决此问题,命令行提供了一个新参数,该参数允许按如下方式中断封装:java
--add-exports
java -jar josm.jar --add-exports java.base/sun.security.util=ALL-UNNAMED --add-exports java.base/sun.security.x509=ALL-UNNAMED
这在 JEP 261 中得到了很好的解释。
我已经阅读了使用相同语法的类似选项,但JEP 261尚未更新以描述它(最后更新:2017/03/08 13:58)。--add-opens
这两个选项之间有什么区别?
编辑:JEP 261已于2017-09-22更新以解释它。