windows “无法识别的选项:--添加-打开”超级分类账Besu

uqxowvwt  于 2023-03-04  发布在  Windows
关注(0)|答案(4)|浏览(151)

我想在遵循official documentation here的步骤并运行以下命令后开始使用Hyperledger Besu:
bin\besu --help
出现以下错误:

C:\Users\user\Desktop\besu-1.3.9>bin\besu --help
Unrecognized option: --add-opens
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

当运行bin\besubin\besu -help时,我得到了同样的结果。
我不知道这个问题是与java的安装或与hyperledger besu试图运行无效/无法识别的选项bin\besu --add-opens.我尝试卸载,然后重新安装java,但这并没有解决问题,这里是java的版本:

C:\Users\user>java -version
Picked up _JAVA_OPTIONS: -Xmx512m
java version "1.8.0_241"
Java(TM) SE Runtime Environment (build 1.8.0_241-b07)
Java HotSpot(TM) Client VM (build 25.241-b07, mixed mode)

任何帮助将不胜感激!

g6ll5ycj

g6ll5ycj1#

我以前没有使用讨论中的库的经验,但我刚刚看了一下您尝试使用的库的official docs,安装说明指出您需要Java 11+才能编译
超级分类账Besu要求:
MacOS High Sierra10.13更高版本

要编译的Java 11+;不支持早期版本。

从您的问题来看,您的系统似乎正在运行Java8。请尝试将其升级到Java 11,然后尝试重新启动二进制文件。

anauzrmj

anauzrmj2#

您正在运行的脚本将--add-opens java.base/sun.security.provider=ALL-UNNAMED添加到启动Besu的java命令行中。它所做的一切就是防止在任何类使用反射访问内部JDK类时发出警告(在本例中,是Sun安全包)。我已经在没有这个参数的情况下启动Besu几个星期了,没有出现任何问题,因此您可以简单地从Besu启动脚本中删除该参数,或者更好的做法是至少升级到Besu期望的Java11或更高版本。根据Oracle的说法,这个命令行参数最终会被删除,但这是Besu维护者的问题,而不是您的问题。

sg3maiej

sg3maiej3#

在JAVA_HOME环境变量中,将java主版本路径从jdk 8路径更改为jdk 11:{jdk 11目录路径}

anhgbhbe

anhgbhbe4#

如果使用Tomcat部署项目,则使用简单的解决方案。转到Tomcat的运行配置。找到此参数并将其删除。如果仍要使用Java 8,则无需更改Java路径。

相关问题