我正在尝试在javafx
中开发一个示例scala
应用程序。我使用sbt-one-jar
打包应用程序。我的班级MainClass
扩展了javafx Application
,后者又提供了主要方法。我可以在IDE中右键单击并成功运行应用程序。但是,在使用sbt-one-jar创建可执行jar之后,在尝试运行jar时,我发现主类未找到错误,如下所示:
线程“main”中的异常java.lang.NoSuchMethodException: com.app.MainClass.main([Ljava.lang.String) 在java.lang.Class.getMethod(未知来源) 在com.simontuffs.onejar.Boot.run(Boot.java:339) 在com.simontuffs.onejar.Boot.main(Boot.java:166)
我将Build.scala中的Main Class作为
mainClass in oneJar := Some("com.app.MainClass")
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应用程序并扩展App,我可以运行创建的one-jar。我怎样才能解决这个问题呢?