Почему я не могу открыть исполняемые файлы .jar при использовании JavaFX? - PullRequest
1 голос
/ 14 июня 2019

Я не могу открыть исполняемые файлы .jar, когда использую JaxaFX.Я дважды щелкаю файл, и ничего не происходит.Если я экспортирую исполняемый файл .jar с графическим интерфейсом, созданным мной в Swing, он открывается нормально.Я попытался открыть .jar на другом компьютере, и у меня возникла та же проблема.Для создания GUI я использовал Scene Builder.Но я также протестировал просто экспорт простой панели без реализации Scene Builder.Тот же результат.

У меня установлены эти версии Java JDK (12.0.1), Java SE (8 обновление 211) и Java JRE (8 обновление 211).

Я перепробовал все три вариантапри экспорте: «Извлечь необходимые библиотеки ...», «Пакет необходимых библиотек ...» и «Скопировать необходимые библиотеки ...».Никто из них не работал.Я использую Eclipse.При создании «проекта JaxaFX» он также создает файл с именем «build.fxbuild» внутри папки проекта.Я пытался создать .jar с этим.Но это показывает, что «проект привязан только к JRE, поэтому муравей будет запущен с JRE, у которого нет компилятора. Хотите продолжить и выбрать JDK?».Если я нажимал «да», он отображал список, но в нем не было записей для выбора.Ниже я публикую код моего "main".

package application;

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.stage.Stage;
import javafx.scene.Parent;
import javafx.scene.Scene;

public class Main extends Application {
    @Override
    public void start(Stage primaryStage) {
        try {
            Parent root = FXMLLoader.load(getClass().getResource("MyScene.fxml"));
            Scene scene = new Scene(root, 300, 200);
            scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
            primaryStage.setScene(scene);
            primaryStage.show();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        launch(args);
    }
}

Единственное решение для меня было создать файл .bat.Внутри я поместил команду, которую я где-то видел в учебнике: «java -jar» имя этого файла «.jar».Если я его открою, все будет работать как надо.

...