Java 图形设备初始化失败:es2,sw

Java 图形设备初始化失败:es2,sw,java,ubuntu,javafx,graphics,Java,Ubuntu,Javafx,Graphics,我正在使用Java的下一个版本: openjdk version "1.8.0_111" OpenJDK Runtime Environment (build 1.8.0_111-8u111-b14-2ubuntu0.16.04.2-b14) OpenJDK 64-Bit Server VM (build 25.111-b14, mixed mode) 我的系统是ubuntu 16.04 Lts,我试图执行一个shell脚本文件,使用终端,我得到下一个错误消息 Graphics Devi

我正在使用Java的下一个版本:

 openjdk version "1.8.0_111"
 OpenJDK Runtime Environment (build 1.8.0_111-8u111-b14-2ubuntu0.16.04.2-b14)
 OpenJDK 64-Bit Server VM (build 25.111-b14, mixed mode)
我的系统是ubuntu 16.04 Lts,我试图执行一个shell脚本文件,使用终端,我得到下一个错误消息

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:227)
at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:173)
at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:209)
at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:675)
at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:695)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$152(LauncherImpl.java:182)
at java.lang.Thread.run(Thread.java:745)
 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)
... 1 more
Exception in thread "main" java.lang.RuntimeException: No toolkit found
at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:185)
at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:209)
at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:675)
at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:695)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$152(LauncherImpl.java:182)
at java.lang.Thread.run(Thread.java:745)

你能告诉我这条消息的原因吗。

目前,我可以提供Ubuntu 18.x的确切说明。它们也可以在其他基于Debian的系统上工作。如果您正在使用另一个操作系统,下面列出的软件包名称可能会引导您走向正确的方向

首先,您需要发现您的发行版上提供了哪些版本的OpenJFX。从命令行运行此命令:

$ apt-cache policy openjfx
在版本表部分,您可能会看到两种选择。我目前看到的是11.0.2+1-1~18.04.2和8u161-b12-1ubuntu2。以11开头的版本是默认版本,即使您(大概)已经安装了openjdk-8-jdk。您需要以数字8开头的版本。在撰写本文时,这是8u161-b12-1ubuntu2

要安装OpenJFX和相关软件包(假设您正在进行开发工作),首先确保您已经卸载了任何基于Java 11的软件包,因为它们将(取消)与JDK 8愉快地共存,并给您带来许多问题

$ sudo apt remove openjfx openjfx-source libopenjfx-java libopenjfx-jni
接下来,安装正确的版本(将策略查询中列出的任何版本替换为8u161-b12-1ubuntu2):

更新:第二天我注意到SudoAPT升级(或自动系统更新)将“升级”我精心选择的jfx软件包。以下是防止这种情况发生的方法:

$ sudo apt-mark hold openjfx openjfx-source libopenjfx-java libopenjfx-jni
 openjfx set on hold.  
 openjfx-source set on hold.
 libopenjfx-java set on hold.
 libopenjfx-jni set on hold.
您可以随时运行sudo apt showhold来列出被扣留的包


安装那些旧但好的软件包为我解决了所有问题。我希望他们也能帮助你。

目前,我可以提供Ubuntu 18.x的确切说明。它们也可以在其他基于Debian的系统上工作。如果您正在使用另一个操作系统,下面列出的软件包名称可能会引导您走向正确的方向

首先,您需要发现您的发行版上提供了哪些版本的OpenJFX。从命令行运行此命令:

$ apt-cache policy openjfx
在版本表部分,您可能会看到两种选择。我目前看到的是11.0.2+1-1~18.04.2和8u161-b12-1ubuntu2。以11开头的版本是默认版本,即使您(大概)已经安装了openjdk-8-jdk。您需要以数字8开头的版本。在撰写本文时,这是8u161-b12-1ubuntu2

要安装OpenJFX和相关软件包(假设您正在进行开发工作),首先确保您已经卸载了任何基于Java 11的软件包,因为它们将(取消)与JDK 8愉快地共存,并给您带来许多问题

$ sudo apt remove openjfx openjfx-source libopenjfx-java libopenjfx-jni
接下来,安装正确的版本(将策略查询中列出的任何版本替换为8u161-b12-1ubuntu2):

更新:第二天我注意到SudoAPT升级(或自动系统更新)将“升级”我精心选择的jfx软件包。以下是防止这种情况发生的方法:

$ sudo apt-mark hold openjfx openjfx-source libopenjfx-java libopenjfx-jni
 openjfx set on hold.  
 openjfx-source set on hold.
 libopenjfx-java set on hold.
 libopenjfx-jni set on hold.
您可以随时运行sudo apt showhold来列出被扣留的包


安装那些旧但好的软件包为我解决了所有问题。我希望他们也能帮助您。

有人知道解决方案吗?更多信息会很有帮助,特别是您使用的GPU以及为其安装的驱动程序。还有一个相关帖子,您检查过了吗?是的,我检查了该链接,并尝试了所有建议的解决方案,但错误仍然出现。请问您是否有其他解决方案?您仍然需要添加更多详细信息,正如我上面所问的:驱动程序(版本)、什么GPU等。您是否尝试过使用Oracle JRE运行它?有人知道此解决方案吗?更多信息会有所帮助,特别是你正在使用什么GPU以及你为它安装了什么驱动程序。还有一个相关的帖子,你检查了吗?是的,我检查了这个链接,尝试了所有建议的解决方案,但错误仍然出现。请问您是否有其他解决方案?您仍然需要添加一些详细信息,正如我上面所问的:驱动程序(版本)、什么GPU等。您是否尝试过使用Oracle JRE运行它?