Прошло несколько дней с тех пор, как я пытался экспортировать очень простой проект, созданный в JavaFX, но у меня очень неприятная проблема: чтобы запустить jar, мне нужно открыть cmd, перейти в папку jdk и выполнить следующий код java --module-path %path_to_JavaFX_on_my_pc% --add modules=javafx.controls,javafx.fxml,javafx.graphics -jar %path_to_jar%
, где я указываю на папку jfx на p c и добавляю необходимые модули для запуска jar.
запуск jar с использованием java java -jar %path_to_jar%
приводит к следующей ошибке: Ошибка: отсутствуют компоненты среды выполнения JavaFX, которые необходимы для запуска этого приложения
Проект является модульным, с объявленной информацией модуля. java со следующим кодом:
module Timer {
requires java.prefs;
requires com.jfoenix;
requires javafx.base;
requires javafx.controls;
requires javafx.fxml;
requires javafx.graphics;
requires javafx.media;
requires javafx.web;
requires javafx.swing;
opens main;
exports main;
}
при экспорте артефакта я включаю все .jar, содержащиеся в javafx, так почему я должен указывать на него внешне?
Приложение работает хорошо, когда я запускаю его через IDE, мне даже не нужно было добавлять параметры виртуальной машины.
Моя цель - создать приложение, которое действительно может быть распределено, без каких-либо дополнительных знаний. основы для его запуска, нет кода jre, jdk, jfx, cmd и т. д. c ... просто дважды щелкните и готово.
Вопрос: как сгенерировать исполняемый файл, который можно открыть с 2 кликами, как и любое другое приложение на р c на * любой р c?