Я установил OpenJDK-11, как описано здесь . Я запустил sudo apt install openjfx
Моя версия Java:
$ java -version
openjdk version "11.0.3" 2019-04-16
OpenJDK Runtime Environment (build 11.0.3+7-Ubuntu-1ubuntu1)
OpenJDK 64-Bit Server VM (build 11.0.3+7-Ubuntu-1ubuntu1, mixed mode, sharing)
Но все же я получаю ava.lang.NoClassDefFoundError: javafx/application/Application
, который указывает, что JRE не может найти классы FX.
Java FX больше не упаковывается со Средой выполнения Java. Необходимо загрузить и упаковать Банку со временем выполнения JavaFX, видеть https://openjfx.io/openjfx-docs/, чтобы изучить, как лучше всего разбудить это и выполнение.
Вы получаете эту ошибку, потому что ваша ПУТЬ среды выполнения к javafx
, вероятно, неверна или отсутствует.
Пожалуйста, выполните следующие действия:
Проверьте путь JavaFX. (пример: / usr / share / openjfx / lib /
)
Затем запустите команду:
java --module-path $FX-PATH --add-modules javafx.controls -jar sample.jar
где $ FX-PATH
следует установить или заменить на указанный путь JavaFX.
Если вам нужно добавить дополнительные модули, вы можете указать их в параметре - add-modules
.
( - дополнительные модули javafx.controls, javafx.fxml
)
Я рекомендую вам использовать https://openjfx.io/openjfx-docs/. Я использую Eclipse IDE, но он работает для всех IDE
Тогда вы можете обратиться к этой глобальной переменной при установке параметров виртуальной машины следующим образом:
В среде IDE щелкните правой кнопкой мыши проект -> Запуск от имени -> Запуск конфигурации -> Аргументы ->VM Arguments
Для Windows
--module-path "\path to javafx\lib" --add-modules javafx.controls,javafx.fxml
Для Linux
--module-path /path to javafx/lib --add-modules javafx.controls,javafx.fxml