目前使用JDK 1.8更新92(32位).为什么在从jar启动时,ScenicView无法找到我的JavaFX应用程序,或者作为-javaagent:参数?
如果我启动我的JavaFX应用程序,然后从jar文件启动ScenicView,它只是坐在那里试图找到要连接的东西.我在命令行上设置了-debug选项,我得到的是: -
Platform running
Launching ScenicView v8.0.0
Startup done
Creating server
Server done
Number of running Java applications found: 0
0 JavaFX applications found
Run Code Online (Sandbox Code Playgroud)
我已经尝试将ScenicView作为IntelliJ的"外部工具"(指定了正确的JVM),并且仅从命令行启动.结果相同.
-javaagent方法似乎也不起作用.如果我将jar作为-javaagent参数添加到我的应用程序中,根据文档,我只是在启动时遇到此错误:
Exception in thread "scenic-view-boot" java.lang.IllegalStateException: Toolkit not initialized
at com.sun.javafx.application.PlatformImpl.runLater(PlatformImpl.java:273)
at com.sun.javafx.application.PlatformImpl.runLater(PlatformImpl.java:268)
at javafx.application.Platform.runLater(Platform.java:83)
at org.scenicview.ScenicView.lambda$premain$34(ScenicView.java:122)
at java.lang.Thread.run(Thread.java:745)
Run Code Online (Sandbox Code Playgroud)
启动它的唯一方法是将ScenicView jar添加到我的应用程序类路径中,并将启动嵌入到我的应用程序源中,如下所示
ScenicView.show(mainScene);
Run Code Online (Sandbox Code Playgroud)
在我需要的时候,它不像在独立工具中启动它那样方便.
这曾经很完美.我可以挖出一些较旧的JDK版本,看看它是否适用于早期的jvm(更新77表现出完全相同的问题),但与此同时,是否有一些方法可以获得更详细的注销,以便我可以尝试找到问题?