Исходя из опубликованной командной строки, вот что IntelliJ применяет для запуска вашего проекта:
"C:\Program Files\Java\jdk-11.0.1\bin\java.exe" --module-path %PATH_TO_FX% --add-modules=javafx.controls,javafx.fxml
Так что проблема совершенно ясна: в параметрах виртуальной машины вы установили дословно что говорится в учебнике :
Но вы не применили свой реальный путь для PATH_TO_FX
, как показано на рисунке, вставленном после этой команды в руководстве:
IntelliJ не разрешает эту переменную, а путь к модулюне установлено, следовательно, вы получите ожидаемую ошибку, которая показывает, что модули JavaFX не найдены:
Error occurred during initialization of boot layer
java.lang.module.FindException: Module javafx.controls not found
Решение
Это может быть решено двумя способами:
- Примените свой путь:
Отредактируйте конфигурации запуска и в опциях виртуальной машины добавьте ваш путь:
--module-path "C:\Program Files\Java\javafx-sdk-11.0.1\lib" --add-modules=javafx.controls,javafx.fxml
Применить и запустить.Это должно работать.
Добавить переменную среды
Вы также можете установить переменную среды.Перейдите к IntelliJ->File->Settings->Appearance & Behavior->Path Variables
и добавьте PATH_TO_FX
, указав путь к папке lib
:
И затем вы можете использовать литералы$PATH_TO_FX$
или ${PATH_TO_FX}
в параметрах виртуальной машины:
--module-path ${PATH_TO_FX} --add-modules=javafx.controls,javafx.fxml
Применить и запустить.
Обратите внимание, что это более постоянное решение, которое может применяться к любому другому проекту JavaFX.