Не могу понять почему не запускается 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 шт):

Автор решения: nick

Прошу прощения , решение проблемы было более чем простое . Дело в том что я использовал не ту архитектуру Фреймворка , с начала я использовал open-javafx-x86 и поэтому я не мог запустить приложение , после того как я поменял архитектуру на open-javafx-x64 все заработало. При этом требовалось выполнить все следующие шаги

  1. Добавить зависимости в 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>
    
  2. Скачать с официального сайта архив SDK

  3. Распаковать архив в свободной папке

  4. Далее в 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 далее применить все настройки

→ Ссылка