【问题标题】:ScenicView 8.6.0 not finding JavaFX applicationScenicView 8.6.0 未找到 JavaFX 应用程序
【发布时间】:2016-04-20 11:48:04
【问题描述】:

当前使用 JDK 1.8 更新 92(32 位)。为什么 ScenicView 在从 jar 或作为 -javaagent: 参数启动时无法找到我的 JavaFX 应用程序?

如果我启动我的 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

我尝试将 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)

唯一可行的启动方法是将 ScenicView jar 添加到我的应用程序类路径中,然后像这样将启动嵌入到我的应用程序源中

ScenicView.show(mainScene);

这不如在我需要时将其作为独立工具启动那样方便。

这曾经完美地工作过。我可以挖掘出一些较旧的 JDK 版本,看看它是否适用于较早的 jvm(更新 77 出现完全相同的问题),但与此同时,有没有办法获得更详细的注销,以便我可以尝试找到问题?

【问题讨论】:

    标签: java javafx-8


    【解决方案1】:

    好像是代理模式下ScenicView启动的bug。我打开了issue 并建议 PR 来修复它。

    【讨论】:

    • 标记为已修复,请问是哪个版本?
    • 根据提交历史,JDK 8 的 8.7.0 版包含该修复。
    • 我正在运行 8.7.0 并且仍然看到这个问题 - Windows 10 with JDK8u74 64bit
    猜你喜欢
    • 1970-01-01
    • 2021-06-19
    • 1970-01-01
    • 1970-01-01
    • 2012-05-18
    • 1970-01-01
    • 2015-03-06
    • 1970-01-01
    • 2014-08-13
    相关资源
    最近更新 更多