«Нераспознанная опция: --add-opens» Hyperledger Besu - PullRequest
0 голосов
/ 22 февраля 2020

Я хочу начать работу с 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)

Любая помощь будет оценена!

Ответы [ 2 ]

1 голос
/ 22 февраля 2020

У меня нет опыта работы с библиотекой, которая обсуждается, но я только что посмотрел официальные документы библиотеки, которую вы пытаетесь использовать, и в инструкциях по установке указано, что вы требуется Java 11+ для компиляции ie

Hyperledger Besu требует:

MacOS High Sierra 10.13 или позднее версии

Java 11+ для компиляции ; более ранние версии не поддерживаются.

Судя по вашему вопросу, похоже, что ваша система работает на Java8. Попробуйте увеличить его до java 11 и попробуйте снова запустить бинарный файл.

0 голосов
/ 26 марта 2020

Запускаемый вами скрипт добавляет --add-opens java.base/sun.security.provider=ALL-UNNAMED к командной строке java, которая запускает Besu. Как уже отмечали другие, параметр --add-opens стал доступен в Java 9; все, что он делает, - это предотвращает выдачу предупреждения, когда какой-либо класс использует отражение для доступа к внутреннему классу JDK (в данном случае, к пакету безопасности Sun). Я запускал Besu без этого параметра в течение нескольких недель без проблем, так что вы могли просто удалить параметр из сценария запуска Besu или - лучше - обновить его по крайней мере до Java 11 или более высокая версия, которую ожидает Бесу. Согласно Oracle, этот параметр командной строки будет в конечном итоге удален, но это проблема для сопровождающих Besu, а не для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...