Начиная с badass-runtime-example-javafx , который работает для меня, я скопировал этот проект и расширил его своим собственным кодом. Я создал изображение с gradlew runtime
. При выполнении сгенерированного файла .bat на Windows я получаю сообщение «Ошибка: отсутствуют компоненты времени выполнения JavaFX, и они необходимы для запуска этого приложения».
В build.gradle я добавил дополнительный модуль javafx.fxml
:
javafx {
modules = ['javafx.controls', 'javafx.fxml' ]
}
Я также запустил задачу suggestModules
и добавил предложенные модули в
runtime {
modules = ['java.naming', 'java.xml ...']
}
У меня вопрос, как я могу проанализировать, какие модули отсутствуют в Java во время выполнения. Я вижу, что java.exe
выполняется только с -classpath
(который включает в себя jar приложения) и параметром основного класса.
Является ли java --list-modules
ответом? Я вижу, что в build \ image \ lib есть большой файл "modules", который выглядит важным для меня.
Я ищу аналитический метод обнаружения для решения проблемы.