如何将 Java 9 '--permit-illegal-access' 标志传递给 Webstart 应用程序?

How to pass the Java 9 '--permit-illegal-access' flag to a Webstart application?

我通过将 --permit-illegal-access 标志传递给虚拟机获得了我的应用程序 运行 JRE build 9-ea+163。现在我想用 Java Webstart 启动应用程序。第一次尝试

javaws -J--permit-illegal-access <JNLP-Url>

不起作用。我得到与 module java.base does not "opens java.util" to unnamed module 和没有标志时相同的 InaccessibleObjectException

<j2se java-vm-args="--permit-illegal-access" version="9*"/> 添加到 JNLP 没有帮助。

Webstart 是否支持 --permit-illegal-access 标志?

我可以在 JNLP 文件中进一步指定标志吗?

顺便说一句,Java 9

javaws https://docs.oracle.com/javase/tutorialJWS/samples/deployment/NotepadJWSProject/Notepad.jnlp

抛出 IllegalAccessException 并且 -J--permit-illegal-access 也没有帮助。

P.S.: 将 env 变量 JAVA_TOOL_OPTIONS 设置为 --permit-illegal-access 可行,但不是解决方案,因为客户端不可访问。

Java Web Start 不支持 --permit-illegal-access 选项。需要打破封装的 JNLP 应用程序应使用精确选项,支持 --add-exports--add-opens

这对我有用。将以下标志添加到 vm 参数:

java --add-exports=java.naming/com.sun.jndi.ldap=ALL-UNNAMED -jar mySpringBootApp.jar