3

我正在尝试javafxscala. 我sbt-one-jar用于打包应用程序。我的类MainClass扩展了 javafx Application,而后者又提供了 main 方法。我可以在 IDE 中右键单击并成功运行应用程序。但是,在使用 sbt-one-jar 创建可执行 jar 之后,在尝试运行 jar 时,我得到 main class not found 错误,如下所示:

线程“主”java.lang.NoSuchMethodException 中的异常:com.simontuffs.onejar.Boot.run 处的 java.lang.Class.getMethod(Unknown Source) 处的 com.app.MainClass.main([Ljava.lang.String;) (Boot.java:339) 在 com.simontuffs.onejar.Boot.main(Boot.java:166)

我将 Build.scala 中的主类作为

mainClass in oneJar := Some("com.app.MainClass")

主类.java:

public class MainClass extends Application {
    @Override
    public void start(Stage primaryStage) throws Exception {
        Parent root = FXMLLoader.load(getClass().getResource("Home.fxml"));
        Scene scene = new Scene(root, 600, 600);
        primaryStage.setTitle("My-App");
        primaryStage.setScene(scene);
        primaryStage.show();
    }
}

如果我创建另一个 scala 应用程序并扩展应用程序,我可以运行创建的 one-jar。我怎样才能解决这个问题?

4

0 回答 0