Проблемы с запуском приложения javafx, Netbeans 11, java 12, javafx 13 - PullRequest
5 голосов
/ 06 марта 2020

Пытаюсь запустить простой пример hello world, но получаю следующую ошибку, которую я не понимаю:

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

Как ее решить? Нужны ли мне библиотеки, плагины, конфигурации, которые еще не включены?

Вот мой pom: Попробовал использовать Java 9,10,11,12 и JavaFX 12 & 13 и получить ту же ошибку.

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.mycompany</groupId>
<artifactId>mavenproject3</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.release>11</maven.compiler.release>
    <javafx.version>13</javafx.version>
</properties>
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.8.1</version>
            <configuration>
                <release>${maven.compiler.release}</release>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-maven-plugin</artifactId>
            <version>0.0.4</version>
            <configuration>
                <mainClass>com.mycompany.mavenproject3.MainApp</mainClass>
                <executable>C:\Program Files\Java\jdk-12\bin\java</executable>
            </configuration>
        </plugin>
    </plugins>
</build>
<dependencies>
    <dependency>
        <groupId>org.openjfx</groupId>
        <artifactId>javafx-controls</artifactId>
        <version>${javafx.version}</version>
    </dependency>
    <dependency>
        <groupId>org.openjfx</groupId>
        <artifactId>javafx-fxml</artifactId>
        <version>${javafx.version}</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.openjfx/javafx -->


    <!-- https://mvnrepository.com/artifact/eu.hansolo/Medusa -->
    <dependency>
        <groupId>eu.hansolo</groupId>
        <artifactId>Medusa</artifactId>
        <version>11.2</version>
    </dependency>

    <dependency>
        <groupId>eu.hansolo</groupId>
        <artifactId>colors</artifactId>
        <version>1.4</version>
    </dependency>

</dependencies>

1 Ответ

3 голосов
/ 12 марта 2020

Это ошибка в зависимости eu.hansolo:Medusa:11.2, поскольку она зависит от mac версии JavaFX и, следовательно, путь к модулю будет содержать win и mac версии JavaFX:

<dependency>
  <groupId>org.openjfx</groupId>
  <artifactId>javafx-controls</artifactId>
  <version>12.0.1</version>
  <classifier>mac</classifier> <---------------
  <scope>runtime</scope>
</dependency>
<dependency>
  <groupId>org.openjfx</groupId>
  <artifactId>javafx-base</artifactId>
  <version>12.0.1</version>
  <classifier>mac</classifier>  <---------------
  <scope>runtime</scope>
</dependency>
<dependency>
  <groupId>org.openjfx</groupId>
  <artifactId>javafx-graphics</artifactId>
  <version>12.0.1</version>
  <classifier>mac</classifier>  <---------------
  <scope>runtime</scope>
</dependency>

Это было исправлено в версии 11.3:


Решение:

Просто обновите eu.hansolo:Medusa:11.2 до eu.hansolo:Medusa:11.3, и оно должно работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...