尽量避免在生产环境中使用—add-opens参数,因为它可能会带来安全风险和兼容性问题。只在开发和测试环境中使用它,并确保你了解其潜在的影响。 如果可能的话,考虑使用其他方法来实现你的需求,而不是依赖—add-opens参数。例如,你可以尝试重构代码以避免反射访问内部APIs,或者使用其他库或框架来提供你需要的功能。 如果你...
--add-opens选项是Java 9引入的一个命令行选项,用于打开模块之间的包,以便其他模块可以访问这些包中的类和成员。通过使用--add-opens选项,我们可以解决由于模块的隔离性而导致的访问限制问题。但是,应该注意的是,--add-opens选项可能会降低代码的安全性,因为它打开了...
export_JAVA_OPTIONS="--add-opens=java.base/sun.security.util=ALL-UNNAMED" 1. 该代码中,export关键字用于将变量导出为环境变量,_JAVA_OPTIONS是变量名,--add-opens=java.base/sun.security.util=ALL-UNNAMED是变量的值。这个值是一个JVM选项,它告诉JVM在启动时将java.base/sun.security.util包开放给所有未...
Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Program will exit. 我在运行bin\besu或bin\besu -help时得到同样的结果。 我不知道问题是出在 java 的安装上还是 hyperledger besu 试图运行无效/无法识别的选项bin\besu --add-opens。我尝试卸载然后重新安装 java,...
您可以在相同的命令行中多次使用--add-exports,--add-opens和--add-reads命令行选项。 1.--add-exports选项 模块声明中的exports语句将模块中的包导出到所有或其他模块,因此这些模块可以使用该包中的公共API。 如果程序包未由模块导出,则可以使用-add-exports的命令行选项导出程序包。 其语法如下: ...
$ java--add-opens=java.base/jdk.internal.loader=UNNAMED-MODULEexample.Main java.lang.NoClassDefFoundError NoClassDefFoundError 最有可能是由拆分包或引用删除的模块导致的。 拆分包导致的 NoClassDefFoundError 如果在多个库中找到某个包,则该包为拆分包。拆分包问题的症状是,你知道某个类会在 class-path 上,但找...
docker run -p 8080:8080 flightbookingsystemsample NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java...
-Dsun.java2d.metal=true--add-opens=java.desktop/java.awt.event=ALL-UNNAMED--add-opens=java.desktop/sun.font=ALL-UNNAMED--add-opens=java.desktop/java.awt=ALL-UNNAMED--add-opens=java.desktop/sun.awt=ALL-UNNAMED--add-opens=java.base/java.lang=ALL-UNNAMED--add-opens=java.base/java.util=...
--add-opens允许模块中特定包的类路径深度反射访问 比如: --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED --add-opens java.base/java.math=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED
add reads–不依赖模块声明文件,我们可以使用与requires指令等效的命令行;–add reads。 add exports–exports指令的命令行替换。 add opens–替换模块声明文件中的open子句。 add modules–将模块列表添加到默认模块集中 列出模块–打印所有模块及其版本字符串的列表 ...