我有基于osgi的应用程序。加载过程如下:start.sh运行不是osgi loader.jar,它启动felix并安装并启动bundle。换句话说,start.sh-> loader.jar-> osgi + bundles。我想通过javafx在loader.jar中显示加载过程,我在那里使用Application.launch(Gui.class)。一切都好。在osgi bundle主程序启动时(也通过Application.launch)出现问题,我得到:
Caused by: java.lang.IllegalStateException: Application launch must not be called more than once
在stackoverflow上,我找到了以下解决方案,如何运行第二个应用程序https://stackoverflow.com/a/13439473/4568213。但是,提供的解决方案只有在位于javafx应用程序“内部”时才有效,例如在start()方法中。如果它出来就抛出
Caused by: java.lang.IllegalStateException: Not on FX application thread; currentThread = main" exception.
我该如何解决这个问题。换句话说,如何进入运行javafx应用程序并创建第二阶段?