安装 JDK 后,无法 运行 .jar

After installing JDK, unable to run .jar

在课程期间,它被安装 JDK 在我的电脑上,以便能够 运行 eXist 数据库。在此之后,执行命令 java -jar fileName.jar 后出现以下错误。

Graphics Device initialization failed for : d3d, 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:222) 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 com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:658) at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:678) at com.sun.javafx.application.LauncherImpl.lambda$launchApplication(LauncherImpl.java:195) 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) ... 1 more Exception in thread "main" java.lang.RuntimeException: No toolkit found at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:272) at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:267) at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:158) at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:658) at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:678) at com.sun.javafx.application.LauncherImpl.lambda$launchApplication(LauncherImpl.java:195) at java.base/java.lang.Thread.run(Thread.java:835)

Windows 10

java -version

openjdk version "12.0.2" 2019-07-16 OpenJDK Runtime Environment Adopt

OpenJDK (build 12.0.2+10) OpenJDK 64-Bit Server VM Adopt

OpenJDK (build 12.0.2+10, mixed mode, sharing)

从你的日志中可以清楚地看出你正在使用 JDK-12,而且你的 jar 似乎是用 JDK-8 开发的,其中这个版本的 JDK 包含JavaFx 库。

但 Oracle 正在从 JDK-11 中删除 JavaFX,因此它不再出现在 JDK-11+ 中,相反您有两个解决方案:

  1. 使用包含此 JavaFx 的 JDK-8,
  2. 或在您的项目中包含 JavaFx 包或依赖项check the link

我卸载了 JDK 12(它在应用程序中被列为 AdoptOpen... 没有 'java' 关键字),然后安装了 jdk8 和 JRE 8。现在我可以 运行 eXist 数据库和其他 .jar 软件(开发人员告诉我这确实是 JavaFx.

的问题