为什么使用JavaFX时无法打开可运行的.jar文件?

时间:2019-06-14 12:21:22

标签: java javafx fxml scenebuilder

使用JaxaFX时,无法打开可运行的.jar文件。我双击该文件,什么都没有发生。如果使用我在Swing中创建的GUI导出可运行的.jar,则它将正常打开。 我尝试在另一台PC上打开.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”。如果我打开那一个,一切都会正常进行。

0 个答案:

没有答案