В Java 11 компоненты JavaFX были удалены в их собственный SDK, поэтому при запуске он не сможет найти их во время выполнения.
На странице JavaFX есть инструкции по ее запуску.: https://openjfx.io/openjfx-docs/#install-javafx
Короче говоря, вы должны скомпилировать / запустить, добавив модули javafx в качестве параметров, передаваемых в командной строке, или используя модульный проект.
Я обнаружил, чтомодульный проект с Maven и IntelliJ работал лучше всего для меня.https://openjfx.io/openjfx-docs/#IDE-Intellij
В модульном методе у вас есть файл module-info.java
, который описывает все модули, которые «требует» ваш проект, и позволяет «открывать» их для других модулей.Если у вас есть куча зависимостей Maven, вы должны добавить их и в список требований.(IntelliJ может упростить эту задачу - найдите в коде ошибку о том, что нет необходимости, и alt-enter)
После того, как все работало с модулями и т. Д., Мне пришлось создать Fat Jar, используя плагин для оттенков Maven.собрать все вместе.Тогда он будет работать, запустив jar из командной строки.
Однако после того, как мой код Java 11 @ # $% @ # заработал после 2 дней боли, я вернулся к Java 8 (используя для исправления SDKпоследняя версия), поскольку в Java 11 нет упаковки, а IntelliJ не может сделать это за вас.