【问题标题】:JavaFX program runs through IDE, but not independantly (Ubuntu)JavaFX 程序通过 IDE 运行,但不是独立运行(Ubuntu)
【发布时间】:2019-12-07 04:33:12
【问题描述】:

当我尝试运行要引入 Linux 的程序时,我遇到了一个奇怪的错误。我能够在 Windows 和 OSX 上毫无问题地编译/运行,但在 Ubuntu 上看到了这个问题。

当我通过 Netbeans 构建/运行/调试程序时,一切都很糟糕。它运行,它的套件中的所有测试都完成了,等等。当我尝试独立于 IDE 运行它时,我遇到了以下问题:

Graphics Device initialization failed for :  es2, sw
Error initializing QuantumRenderer: no suitable pipeline found
java.lang.RuntimeException: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
    at com.sun.javafx.tk.quantum.QuantumRenderer.getInstance(QuantumRenderer.java:280)
    at com.sun.javafx.tk.quantum.QuantumToolkit.init(QuantumToolkit.java:243)
    at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:260)
    at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:267)
    at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:158)
    at javafx.embed.swing.JFXPanel.lambda$initFx$1(JFXPanel.java:224)
    at java.base/java.lang.Thread.run(Thread.java:835)
Caused by: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
    at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:94)
    at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:124)

我已经为此努力了几个小时,任何想法/帮助都将不胜感激。

【问题讨论】:

  • 您的项目使用什么版本的 Java?在终端窗口中执行java -version 会显示什么?
  • 我刚升级到Java 12,在控制台显示版本为:OpenJDK Runtime Environment (build 12.0.2+10)
  • 您是否从命令行添加了模块? java --module-path $PATH_TO_FX --add-modules javafx.controls HelloFX
  • 我已经通过 netbeans UI 添加了这些,在 Properties->Libraries->Run->Modulepath
  • JavaFX 不是 Java 12 SDK 的一部分,那么如何在没有在命令行上指定类路径的情况下运行 JavaFX 应用程序?您的程序如何能够加载 JavaFX 类?

标签: java ubuntu javafx openjfx ubuntu-19.04


【解决方案1】:

就我而言,这个问题是在我使用 oracle JDK 和 openJFX 时出现的。当我切换到 openJDK 问题得到解决(仅在 Ubuntu 上,Windows 不会遇到这个问题)。

如果这不起作用,您可以尝试更改 javaFX 的默认 gtk 版本

-Djdk.gtk.version=2          //you can add as JVM option

javaFX 的默认 GTK 版本最近从 gtk2 更改为 gtk3。这个事实引起了很多问题。

【讨论】:

  • 感谢您的建议,但这并没有解决我遇到的问题。如果我找到了,我会在这里更新。
猜你喜欢
  • 2017-09-18
  • 2019-07-29
  • 1970-01-01
  • 2015-07-05
  • 2017-11-21
  • 1970-01-01
  • 2018-01-25
  • 2013-03-02
  • 1970-01-01
相关资源
最近更新 更多