安装JDK后,无法运行.jar

OS-*_*101 6 java javafx java-12

在学习过程中,它已在我的计算机上安装了JDK,以便能够运行eXist数据库。此后,执行命令后,出现java -jar fileName.jar以下错误。

图形设备初始化失败:d3d,sw初始化QuantumRenderer时出错:找不到合适的管道java.lang.RuntimeException:java.lang.RuntimeException:初始化QuantumRenderer时出错:在com.sun.javafx.tk.quantum.QuantumRenderer上找不到合适的管道。 com.sun.javafx.tk.quantum.QuantumToolkit.init(QuantumToolkit.java:222)上的getInstance(QuantumRenderer.java:280)com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:260)上的QuantumToolkit.init(QuantumToolkit.java:222) com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:158)上的.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:267)com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl .java:658)(位于com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:678))。javafx.application.LauncherImpl.lambda $ launchApplication $ 2(LauncherImpl.java:195)at java.base / java.lang.Thread.run(Thread.java:835)原因:java.lang.RuntimeException:初始化QuantumRenderer时出错:no在com.sun.javafx.tk.quantum.QuantumRenderer $ PipelineRunnable.run(QuantumRenderer.java:124)处的com.sun.javafx.tk.quantum.QuantumRenderer $ PipelineRunnable.init(QuantumRenderer.java:94)上找到合适的管道。 .. 1个以上线程“ main”中的异常java.lang.RuntimeException:在com.sun.javafx.application.PlatformImpl.startup的com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:272)上找不到工具包(PlatformImpl.java:267)com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:158)com.sun.javafx.application.LauncherImpl。位于com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:678)的com.sun.javafx.application.LauncherImpl.lambda $ launchApplication $ 2(LauncherImpl.java:195)的startToolkit(LauncherImpl.java:658) java.base / java.lang.Thread.run(Thread.java:835)

Windows 10

java -version
Run Code Online (Sandbox Code Playgroud)

openjdk版本“ 12.0.2” 2019-07-16采用OpenJDK运行时环境

OpenJDK(内部版本12.0.2 + 10)采用OpenJDK 64位服务器VM

OpenJDK(内部版本12.0.2 + 10,混合模式,共享)

YCF*_*F_L 11

从日志中可以清楚地看到您正在使用JDK-12,并且您的jar似乎是用JDK-8开发的,该版本的JDK包含JavaFx库。

但是Oracle正在从JDK-11中删除JavaFX,因此JDK-11 +中不再存在JavaFX,而是有两种解决方案:

  1. 使用包含此JavaFx的JDK-8,
  2. 或在您的项目中包含JavaFx包或依赖项检查链接

  • @ OS-50101我认为您还有另一个问题,按照SO网站的约定,您必须专注于一个问题,我建议创建一个有关如何删除Java 12的新问题,我们将为您提供帮助 (2认同)