notAquarius
@notAquarius
3 метра под уровнем грунта

Ошибка использования javaFX в jdk 11+?

Создаю стандартный JavaFx проект, выбираю jdk-12. Скачал отдельно javafx-sdk-12. Подключаю все к проекту, и intellij сразу видит импорты ( до этого подсвечивала красным) . Но все равно не работает, в чем причин?

Ошибка:
/home/topmetaf/Документы/My_JDK/jdk-12/bin/java -javaagent:/home/topmetaf/Документы/Intellij_idie/idea-IU-191.6183.62/lib/idea_rt.jar=36343:/home/topmetaf/Документы/Intellij_idie/idea-IU-191.6183.62/bin -Dfile.encoding=UTF-8 -classpath /home/topmetaf/Документы/Intellij_idie/untitled4/out/production/untitled4:/home/topmetaf/Документы/My_JDK/javafx-sdk-12/lib/javafx.base.jar:/home/topmetaf/Документы/My_JDK/javafx-sdk-12/lib/javafx.fxml.jar:/home/topmetaf/Документы/My_JDK/javafx-sdk-12/lib/javafx.controls.jar:/home/topmetaf/Документы/My_JDK/javafx-sdk-12/lib/javafx-swt.jar:/home/topmetaf/Документы/My_JDK/javafx-sdk-12/lib/javafx.media.jar:/home/topmetaf/Документы/My_JDK/javafx-sdk-12/lib/javafx.graphics.jar:/home/topmetaf/Документы/My_JDK/javafx-sdk-12/lib/javafx.swing.jar:/home/topmetaf/Документы/My_JDK/javafx-sdk-12/lib/javafx.web.jar sample.Main

Error: JavaFX runtime components are missing, and are required to run this application

Process finished with exit code 1


Как я подключал javaFX:
5c9b8f3a7839e195548102.png5c9b8f41c995a215519919.png
  • Вопрос задан
  • 9261 просмотр
Решения вопроса 1
@akimdi
Ну так Вы же не настроили дополнительные опции JVM.
Что бы их настроить нужно:

Открыть настройки и прописать дополнительные опции JVM:
Run -> Edit Configurations -> VM Options: --module-path /usr/share/openjfx/lib --add-modules javafx.controls,javafx.fxml

(в параметре --module-path укажите абсолютный путь где лежит Ваша OpenJFX, а в параметре --add-modules укажите какие модули Вы используете в данном проекте, у меня например стоит javafx.controls и javafx.fxml - Вы указываете те которые используются у Вас).

Далее настраиваем:
File -> Project Structure -> Modules -> Dependency tab add ("+" JAR or directories) the lib directory where you have unpacked JavaFX: /usr/share/openjfx/lib

(вместо моего пути /usr/share/openjfx/lib напишите свой)

После того как все опции заданы, запускаем проект.

Я так понимаю Вы начинающий джавист :)
Мой Вам совет, научитесь работать в консоли, тогда работа в IDE Вам будет даваться легко.

Вот например в консоли это делается очень просто:

Скачиваем пример HelloFX.java для проверки:
wget https://raw.githubusercontent.com/openjfx/samples/master/HelloFX/CLI/hellofx/HelloFX.java


Скомпилируем приложение JavaFX:
/usr/lib/jvm/java-11-openjdk-amd64/bin/javac --module-path /usr/share/openjfx/lib --add-modules=javafx.controls HelloFX.java


Запускаем приложение JavaFX:
/usr/lib/jvm/java-11-openjdk-amd64/bin/java --module-path /usr/share/openjfx/lib --add-modules=javafx.controls HelloFX
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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