Во время работы я получаю следующую ошибкуАвтоматизация теста «Кенгуру»
Graphics Device initialization failed for : es2, 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:220)
at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:173)
at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:206)
at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:649)
at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:312)
at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:303)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:767)
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)
at java.lang.Thread.run(Thread.java:745)
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:767)
Caused by: java.lang.RuntimeException: No toolkit found
at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:185)
at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:206)
at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:649)
at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:312)
at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:303)
... 5 more
Я погуглил и нашел, что написал разработчику приложения, и он ответил, что мне нужно установить gtk3, поэтому я попробовал следующие пакеты
sudo apt-get install libgtk-3-dev
sudo apt-get install libswt-gtk-3-java
даже если это не работает, может ли кто-нибудь мне помочь, почему..?
моя версия java -
openjdk version "1.8.0_40-internal"
OpenJDK Runtime Environment (build 1.8.0_40-internal-b27)
OpenJDK 64-Bit Server VM (build 25.40-b25, mixed mode)
я прошел сквозьhttps://stackoverflow.com/questions/21185156/javafx-on-linux-is-showing-a-graphics-device-initialization-failed-for-es2-s хотя и не смог найти решение.
Любая помощь приветствуется.
решение1
Я понимаю, что это старый вопрос, но я только что столкнулся с той же проблемой с Ubuntu 14.04 и пытаюсь запустить thinkorswim. Моя проблема была вызвана тем, что я использовал 32-битную версию jre. Когда я установил 64-битную версию java, ошибки исчезли.
решение2
У меня была точно такая же проблема под openSUSE13.2 с eclipse. Решением было переместить файл jfxrt.jar (его можно найти в tarball Java SE Development Kit 8u45) в:
/usr/lib64/jvm/java-1.8.0-openjdk-1.8.0/jre/lib/jfxrt.jar
А не в /usr/lib64/jvm/java-1.8.0-openjdk-1.8.0/jre/lib/ext/jfxrt.jar, как я делал раньше.
решение3
У меня тоже была такая же проблема. Мне потребовалось несколько дней, чтобы разобраться с этим. В ошибке четко указано, что проблема в javafx.graphics. Возможно, вы загрузили свой пакет JavaFX с JavaFX, вероятно, Gluon. Вы загрузили версию LTS. Все файлы в этой версии работают, кроме javafx.graphics. LTS — хорошая версия, поэтому не удаляйте ее. Вместо этого загрузите версию с ранним доступом с JavaFX — Gluon. Распакуйте ее и замените lib ранее загруженного JavaFX на lib новой загрузки. Это решает проблему на 100%.