Не могу понять почему не запускается JavaFx приложение
Подключил JavaFx к проекту . При запуске возникает следующий Exception
"D:\Programming\Java\JDK 11\jdk\bin\java.exe" --module-path D:\libraryies\JavaFx\javafx-sdk-18.0.1\lib --add-modules=javafx.controls,javafx.base,javafx.fxml,javafx.graphics "-javaagent:D:\Programming\IDE\IntelliJ IDEA Community Edition 2021.3.3\lib\idea_rt.jar=56556:D:\Programming\IDE\IntelliJ IDEA Community Edition 2021.3.3\bin" -Dfile.encoding=UTF-8 -classpath D:\Programming\My_Projects\SML\target\classes;C:\Users\caspe\.m2\repository\org\openjfx\javafx-controls\11\javafx-controls-11.jar;C:\Users\caspe\.m2\repository\org\openjfx\javafx-controls\11\javafx-controls-11-win.jar;C:\Users\caspe\.m2\repository\org\openjfx\javafx-fxml\11\javafx-fxml-11.jar;C:\Users\caspe\.m2\repository\org\openjfx\javafx-fxml\11\javafx-fxml-11-win.jar;C:\Users\caspe\.m2\repository\org\openjfx\javafx-graphics\11\javafx-graphics-11.jar;C:\Users\caspe\.m2\repository\org\openjfx\javafx-graphics\11\javafx-graphics-11-win.jar;C:\Users\caspe\.m2\repository\org\openjfx\javafx-base\11\javafx-base-11.jar;C:\Users\caspe\.m2\repository\org\openjfx\javafx-base\11\javafx-base-11-win.jar;C:\Users\caspe\.m2\repository\org\springframework\spring-context\5.3.20\spring-context-5.3.20.jar;C:\Users\caspe\.m2\repository\org\springframework\spring-aop\5.3.20\spring-aop-5.3.20.jar;C:\Users\caspe\.m2\repository\org\springframework\spring-expression\5.3.20\spring-expression-5.3.20.jar;C:\Users\caspe\.m2\repository\org\springframework\spring-core\5.3.20\spring-core-5.3.20.jar;C:\Users\caspe\.m2\repository\org\springframework\spring-jcl\5.3.20\spring-jcl-5.3.20.jar;C:\Users\caspe\.m2\repository\org\springframework\spring-beans\5.3.20\spring-beans-5.3.20.jar;C:\Users\caspe\.m2\repository\org\jboss\logging\jboss-logging\3.3.1.Final\jboss-logging-3.3.1.Final.jar;C:\Users\caspe\.m2\repository\antlr\antlr\2.7.7\antlr-2.7.7.jar;C:\Users\caspe\.m2\repository\org\jboss\spec\javax\transaction\jboss-transaction-api_1.2_spec\1.0.1.Final\jboss-transaction-api_1.2_spec-1.0.1.Final.jar;C:\Users\caspe\.m2\repository\org\jboss\jandex\2.0.3.Final\jandex-2.0.3.Final.jar;C:\Users\caspe\.m2\repository\com\fasterxml\classmate\1.3.0\classmate-1.3.0.jar;C:\Users\caspe\.m2\repository\org\dom4j\dom4j\2.1.1\dom4j-2.1.1.jar;C:\Users\caspe\.m2\repository\org\hibernate\common\hibernate-commons-annotations\5.1.2.Final\hibernate-commons-annotations-5.1.2.Final.jar;C:\Users\caspe\.m2\repository\org\hibernate\hibernate-entitymanager\5.2.18.Final\hibernate-entitymanager-5.2.18.Final.jar;C:\Users\caspe\.m2\repository\org\hibernate\hibernate-core\5.2.18.Final\hibernate-core-5.2.18.Final.jar;C:\Users\caspe\.m2\repository\net\bytebuddy\byte-buddy\1.6.14\byte-buddy-1.6.14.jar;C:\Users\caspe\.m2\repository\org\hibernate\javax\persistence\hibernate-jpa-2.1-api\1.0.2.Final\hibernate-jpa-2.1-api-1.0.2.Final.jar;C:\Users\caspe\.m2\repository\org\postgresql\postgresql\42.3.5\postgresql-42.3.5.jar;C:\Users\caspe\.m2\repository\org\checkerframework\checker-qual\3.5.0\checker-qual-3.5.0.jar;C:\Users\caspe\.m2\repository\jakarta\xml\bind\jakarta.xml.bind-api\2.3.2\jakarta.xml.bind-api-2.3.2.jar;C:\Users\caspe\.m2\repository\jakarta\activation\jakarta.activation-api\1.2.1\jakarta.activation-api-1.2.1.jar;C:\Users\caspe\.m2\repository\org\glassfish\jaxb\jaxb-runtime\2.3.2\jaxb-runtime-2.3.2.jar;C:\Users\caspe\.m2\repository\org\glassfish\jaxb\txw2\2.3.2\txw2-2.3.2.jar;C:\Users\caspe\.m2\repository\com\sun\istack\istack-commons-runtime\3.0.8\istack-commons-runtime-3.0.8.jar;C:\Users\caspe\.m2\repository\org\jvnet\staxex\stax-ex\1.8.1\stax-ex-1.8.1.jar;C:\Users\caspe\.m2\repository\com\sun\xml\fastinfoset\FastInfoset\1.2.16\FastInfoset-1.2.16.jar;C:\Users\caspe\.m2\repository\org\javassist\javassist\3.23.1-GA\javassist-3.23.1-GA.jar;D:\libraryies\BootstrapFx\bootstrapfx-core-0.4.0.jar;D:\libraryies\ControlsFx\controlsfx-11.0.3.jar main.Main
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 [email protected]/com.sun.javafx.tk.quantum.QuantumRenderer.getInstance(QuantumRenderer.java:283)
at [email protected]/com.sun.javafx.tk.quantum.QuantumToolkit.init(QuantumToolkit.java:253)
at [email protected]/com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:266)
at [email protected]/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:291)
at [email protected]/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:163)
at [email protected]/com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:659)
at [email protected]/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:410)
at [email protected]/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 [email protected]/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:95)
at [email protected]/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:125)
at java.base/java.lang.Thread.run(Thread.java:834)
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 [email protected]/com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:278)
at [email protected]/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:291)
at [email protected]/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:163)
at [email protected]/com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:659)
at [email protected]/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:410)
at [email protected]/com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:364)
... 5 more
Process finished with exit code 1
У меня стоит Java 11 я подключил все необходимые зависимости JavaFx
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>11</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-fxml</artifactId>
<version>11</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-graphics</artifactId>
<version>11</version>
</dependency>
Большинство ответов на этот вопрос говорит прописывать путь к библиотекам JavaFx в VM Options , но мне это не помогает . Я пробовал менять версий JavaFx но это тоже не помогает. В чем проблема ??
Ответы (1 шт):
Прошу прощения , решение проблемы было более чем простое . Дело в том что я использовал не ту архитектуру Фреймворка , с начала я использовал open-javafx-x86 и поэтому я не мог запустить приложение , после того как я поменял архитектуру на open-javafx-x64 все заработало. При этом требовалось выполнить все следующие шаги
Добавить зависимости в Maven
<dependency> <groupId>org.openjfx</groupId> <artifactId>javafx-controls</artifactId> <version>11</version> </dependency> <dependency> <groupId>org.openjfx</groupId> <artifactId>javafx-fxml</artifactId> <version>11</version> </dependency> <dependency> <groupId>org.openjfx</groupId> <artifactId>javafx-graphics</artifactId> <version>11</version> </dependency>Скачать с официального сайта архив SDK
Распаковать архив в свободной папке
Далее в IDE зайти в
Run -> Edit Configurationдалее если нет поля VM OPtion нажатьModify Options -> Add VM Optionsдалее ввести--module-path C:/javafx/lib --add-modules=javafx.controls,javafx.base,javafx.fxml,javafx.graphicsдалее применить все настройки