使用与JavaFX.concurrent.Task并发的JavaFX应用程序无法作为jar正常工作

使用与JavaFX.concurrent.Task并发的JavaFX应用程序无法作为jar正常工作,java,multithreading,concurrency,jar,javafx,Java,Multithreading,Concurrency,Jar,Javafx,我编写了一个JavaFX应用程序,它使用JavaFX.concurrent.Task创建一个后台线程,如下所述: 该应用程序在Eclipse中运行良好 然后我创建了一个可执行jar,如本教程所述: jar正在打开,不会在终端上创建错误消息,但它将进入task.setOnFailed()-方法,而不是task.setOnSucceed()。 在我使用Task类之前,后台进程工作正常。但是,UI将冻结。现在,后台进程根本没有开始。它只需要启动一些模拟,比如康威的《生活游戏》,而GUI则需要定义启动参

我编写了一个JavaFX应用程序,它使用JavaFX.concurrent.Task创建一个后台线程,如下所述:

该应用程序在Eclipse中运行良好

然后我创建了一个可执行jar,如本教程所述:

jar正在打开,不会在终端上创建错误消息,但它将进入
task.setOnFailed()-
方法,而不是
task.setOnSucceed()。

在我使用Task类之前,后台进程工作正常。但是,UI将冻结。现在,后台进程根本没有开始。它只需要启动一些模拟,比如康威的《生活游戏》,而GUI则需要定义启动参数,并通过单击按钮启动模拟

现在我的问题是:
由于程序运行良好,伊柯丽斯和我没有其他问题或错误消息,我是否需要考虑使用任务类创建jar的一些事情? 如果它正在输入
任务.setOnFailed
处理程序,则会引发异常。通过在
onFailed
处理程序中执行
task.getException().printStackTrace()
,可以从该异常中查看堆栈跟踪。这给了你什么?”由:java.lang.NullPointerException at views.GUI.startButtonPressed(未知源)引起)“startButtonPressed()是连接到FXML文件中按钮的方法。当我不使用Task时,我没有这种异常,只是让GUI冻结。