java - 安装JDK后,无法运行.jar

标签 java javafx java-12

在类(class)期间,我在计算机上安装了 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$2(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$2(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

关于java - 安装JDK后,无法运行.jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57856943/

相关文章:

java - lombok 和 jackson 不能与 openjdk 12 一起使用

java - 哪个更好 : letting Java do autoboxing or using valueOf()

canvas - 如何以不锯齿的方式绘制由多条线段组成的曲线

JavaFX 8 - 相对于鼠标指针缩放

java - OSGi 版本注释的奇怪 javadoc 错误(带有 jdk12)

java - 获取目录的全名及其包含的字符串

java - 比 onLoadResource 更快的方法将 javascript 注入(inject)到 webview 中?

java - 如何构建图形交互的小程序?

带有复选框的Javafx 8 Tableview选择