我想在遵循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\besu
或bin\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)
任何帮助将不胜感激!
4条答案
按热度按时间g6ll5ycj1#
我以前没有使用讨论中的库的经验,但我刚刚看了一下您尝试使用的库的official docs,安装说明指出您需要Java 11+才能编译
超级分类账Besu要求:
MacOS High Sierra10.13或更高版本
要编译的Java 11+;不支持早期版本。
从您的问题来看,您的系统似乎正在运行Java8。请尝试将其升级到Java 11,然后尝试重新启动二进制文件。
anauzrmj2#
您正在运行的脚本将
--add-opens java.base/sun.security.provider=ALL-UNNAMED
添加到启动Besu的java命令行中。它所做的一切就是防止在任何类使用反射访问内部JDK类时发出警告(在本例中,是Sun安全包)。我已经在没有这个参数的情况下启动Besu几个星期了,没有出现任何问题,因此您可以简单地从Besu启动脚本中删除该参数,或者更好的做法是至少升级到Besu期望的Java11或更高版本。根据Oracle的说法,这个命令行参数最终会被删除,但这是Besu维护者的问题,而不是您的问题。sg3maiej3#
在JAVA_HOME环境变量中,将java主版本路径从jdk 8路径更改为jdk 11:{jdk 11目录路径}
anhgbhbe4#
如果使用Tomcat部署项目,则使用简单的解决方案。转到Tomcat的运行配置。找到此参数并将其删除。如果仍要使用Java 8,则无需更改Java路径。