将 --add-opens 参数传递给 Java webstart

Passing --add-opens argument to Java webstart

我正在 运行使用 Java Webstart 创建一个应用程序,但它需要在 运行 和 Java 9+:

时打开一个模块

java.lang.reflect.InaccessibleObjectException: Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain) throws java.lang.ClassFormatError accessible: module java.base does not "opens java.lang" to unnamed module @207bb528

我需要如何修改我的 jnlp 才能使其正常工作?

:

java --add-opens java.base/java.lang=ALL-UNNAMED

在 JNLP 文件中,您可以执行相同的操作,但需要将 space 替换为“=”,例如:

<j2se version="1.8.0_45+" java-vm-args="--add-opens=java.base/java.lang=ALL-UNNAMED"/>