java.lang.NoClassDefFoundError: javafx / application / Application

Я установил 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.

4
задан 23 April 2019 в 18:07

3 ответа

Java FX больше не упаковывается со Средой выполнения Java. Необходимо загрузить и упаковать Банку со временем выполнения JavaFX, видеть https://openjfx.io/openjfx-docs/, чтобы изучить, как лучше всего разбудить это и выполнение.

2
ответ дан 1 December 2019 в 10:14

Вы получаете эту ошибку, потому что ваша ПУТЬ среды выполнения к 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 )

9
ответ дан 26 December 2019 в 11:01

Я рекомендую вам использовать 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
2
ответ дан 3 April 2020 в 13:20

Другие вопросы по тегам:

Похожие вопросы: