gpt4 book ai didi

java - 初始化 QuantumRenderer : no suitable pipeline found in Eclipse JavaFX 时出错

转载 作者:行者123 更新时间:2023-12-05 05:51:25 53 4
gpt4 key购买 nike

运行 JavaFX 应用程序后显示“初始化 QuantumRenderer 时出错:找不到合适的管道”。我在项目中添加了所需的 JavaFX 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 javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer.getInstance(QuantumRenderer.java:283)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.init(QuantumToolkit.java:254)
at javafx.graphics/com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:264)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:291)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:163)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:659)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:410)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:364)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at java.base/sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:1051)
Caused by: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:95)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:125)
at java.base/java.lang.Thread.run(Thread.java:829)
Exception in thread "main" java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at java.base/sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:1051)
Caused by: java.lang.RuntimeException: No toolkit found
at javafx.graphics/com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:276)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:291)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:163)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:659)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:410)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:364)
... 5 more

最佳答案

在 Eclipse IDE 中像往常一样创建一个 java 项目并在 Windows > Preferences 和 Java > Build Path > User Libraries 下创建一个新库点击 New...命名库并添加 .jar 点击添加外部 JAR...转到解压缩 javafx 包的路径,然后在 lib 下选择所有 .jar。单击“打开并应用”和“关闭”。您可以开始导入 javafx 代码。如果你运行应用程序会得到一个错误“错误:缺少 JavaFX 运行时组件,并且需要运行此应用程序”要解决此问题,请转到“运行”>“运行配置”。在 Java Application 下新建 Configuration在右侧的 Arguments 选项卡中查找 VM Arguments 并添加

--模块路径 "PATH_TO_YOUR_JAVAFX_LIB_FOLDER"--add-modules javafx.controls,javafx.fxml

在我的例子中,PATH_TO_YOUR_JAVAFX_LIB_FOLDER 是“C:\Program Files\Java\jdk-11.0.14\openjfx-18.0.1_windows-x64_bin-sdk\javafx-sdk-18.0.1\lib”。应用更改并运行第一个问题修复

现在,如果您尝试导出您的项目,IDE 将向您显示一条警告,指出 VM 参数将不是可运行 JAR 的一部分,如果您执行该 jar,您将面临同样的错误:“错误:JavaFX 运行时缺少组件,并且需要运行此应用程序”我总是在导出向导中选中“将所需的库复制到 jar 旁边的子文件夹中”。要修复错误,请在导出的 .jar 旁边创建一个新的文本文件,并将其命名为 .bat 扩展名(在 Windows 中)编辑 .bat 文件并添加:

java --module-path "PATH_TO_YOUR_JAVAFX_LIB_FOLDER"--add-modules javafx.controls,javafx.fxml -jar YOUR_PROJECT_NAME.jar

全部完成,但 PATH_TO_YOUR_JAVAFX_LIB_FOLDER 在您的机器中,那么如果您在另一台机器上运行 .jar 会怎么样?

java --module-path "YOUR_PROJECT_NAME_lib/"--add-modules javafx.controls,javafx.fxml -jar YOUR_PROJECT_NAME.jar

YOUR_PROJECT_NAME_lib 与导出的 .jar 位于同一目录中

如果现在运行你会得到错误

“图形设备初始化失败:d3d,sw初始化 QuantumRenderer 时出错:找不到合适的管道..."

发生这个错误是因为它没有找到 natives(.dll),所以,复制 PATH_TO_YOUR_JAVAFX 下的文件夹 bin 将其粘贴到导出的 .jar 文件的同一文件夹中

这应该可以解决问题。希望对您有所帮助。

关于java - 初始化 QuantumRenderer : no suitable pipeline found in Eclipse JavaFX 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70374601/

53 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com