首页 > 解决方案 > 在 unix 上执行 jar 会导致初始化量子渲染器出错:找不到合适的管道

问题描述

我正在尝试运行一个 selenium jar 项目,并实现无头 jbrowser。我在作为类路径提供的目录中有 javafx 库。当我尝试运行时,它会出错。我使用了以下命令。

/sbcimp/run/tp/sun/jdk/v1.8.0_144/bin/java -cp "/home/jamesmb/selenium/javafx-src/com" -jar /home/jamesmb/selenium/ratesTestUnixv3.jar

错误 :

/sbcimp/run/tp/sun/jdk/v1.8.0_144/bin/java -cp "/home/jamesmb/selenium/javafx-src/com" -jar /home/jamesmb/selenium/ratesTestUnixv3.jar
/home/jamesmb
[2018-08-28T11:15:03.689][Instance 1][Port 45076] Graphics Device initialization failed for :  sw
[2018-08-28T11:15:03.692][Instance 1][Port 45076] Error initializing QuantumRenderer: no suitable pipeline found
[2018-08-28T11:15:03.692][Instance 1][Port 45076] java.lang.RuntimeException: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
[2018-08-28T11:15:03.692][Instance 1][Port 45076]       at com.sun.javafx.tk.quantum.QuantumRenderer.getInstance(QuantumRenderer.java:280)
[2018-08-28T11:15:03.692][Instance 1][Port 45076]       at com.sun.javafx.tk.quantum.QuantumToolkit.init(QuantumToolkit.java:221)
[2018-08-28T11:15:03.692][Instance 1][Port 45076]       at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:205)
[2018-08-28T11:15:03.692][Instance 1][Port 45076]       at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:209)
[2018-08-28T11:15:03.692][Instance 1][Port 45076]       at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:675)
[2018-08-28T11:15:03.693][Instance 1][Port 45076]       at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:695)
[2018-08-28T11:15:03.693][Instance 1][Port 45076]       at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$155(LauncherImpl.java:182)
[2018-08-28T11:15:03.693][Instance 1][Port 45076]       at java.lang.Thread.run(Thread.java:748)
[2018-08-28T11:15:03.693][Instance 1][Port 45076] Caused by: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
[2018-08-28T11:15:03.693][Instance 1][Port 45076]       at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:94)
[2018-08-28T11:15:03.693][Instance 1][Port 45076]       at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:124)
[2018-08-28T11:15:03.693][Instance 1][Port 45076]       ... 1 more
[2018-08-28T11:15:03.694][Instance 1][Port 45076] java.lang.RuntimeException: No toolkit found
[2018-08-28T11:15:03.694][Instance 1][Port 45076]       at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:217)
[2018-08-28T11:15:03.695][Instance 1][Port 45076]       at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:209)
[2018-08-28T11:15:03.695][Instance 1][Port 45076]       at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:675)
[2018-08-28T11:15:03.695][Instance 1][Port 45076]       at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:695)
[2018-08-28T11:15:03.695][Instance 1][Port 45076]       at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$155(LauncherImpl.java:182)
[2018-08-28T11:15:03.695][Instance 1][Port 45076]       at java.lang.Thread.run(Thread.java:748)
[2018-08-28T11:15:03.695][Instance 1][Port 45076]

标签: javaseleniumunixjavafx

解决方案


错误是因为 64 位可执行文件试图在 32 位 java 环境中运行,也缺少 gtk 库


推荐阅读