Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 为什么sbt第二次无法运行gui应用程序?_Scala_User Interface_Javafx_Sbt - Fatal编程技术网

Scala 为什么sbt第二次无法运行gui应用程序?

Scala 为什么sbt第二次无法运行gui应用程序?,scala,user-interface,javafx,sbt,Scala,User Interface,Javafx,Sbt,我有一个基于JavaFX的Scala程序,可以在控制台模式和gui模式下运行。我可以在sbt的控制台模式下运行它,次数可以根据需要而定。但是,如果我将其作为gui应用程序运行,那么它将首次运行。当我关闭窗口并尝试第二次运行它时,我收到以下错误消息: > > run [info] Running Start [error] (run-main-1) java.lang.IllegalStateException: Application launch must not be calle

我有一个基于JavaFX的Scala程序,可以在控制台模式和gui模式下运行。我可以在sbt的控制台模式下运行它,次数可以根据需要而定。但是,如果我将其作为gui应用程序运行,那么它将首次运行。当我关闭窗口并尝试第二次运行它时,我收到以下错误消息:

> > run
[info] Running Start
[error] (run-main-1) java.lang.IllegalStateException: Application launch must not be called more than once
java.lang.IllegalStateException: Application launch must not be called more than once
        at com.sun.javafx.application.LauncherImpl.launchApplication(Unknown Source)
        at com.sun.javafx.application.LauncherImpl.launchApplication(Unknown Source)
        at javafx.application.Application.launch(Unknown Source)
... etc.

应用程序已经过测试,如果我从jar以gui的形式运行,一切都正常,因此这是sbt的问题。

根据fabian的评论,您必须添加

fork in run := true
建立.sbt


它起作用了。已测试。

正如您在Stacktrace中看到的,launch会被多次调用。启动函数只能调用一次,否则将引发异常。谢谢,就是这样:您必须在build.sbt中添加“fork in run:=true”。@fabian您认为这个问题如何: