【问题标题】:Problems running a javafx application, Netbeans 11, java 12, javafx 13运行 javafx 应用程序、Netbeans 11、java 12、javafx 13 的问题
【发布时间】:2020-06-19 06:34:43
【问题描述】:

尝试运行一个简单的 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>

【问题讨论】:

  • 在图形中的(本机?)渲染库不可用时看到了该错误 - 对我来说,在本地编译 jfx 并尝试在 eclipse 中的不同项目中使用它时可能会发生这种情况:然后我需要将 java.library.path 指向这些 dll 的目录。但是,不知道如何/为什么/如果 Maven 在您的上下文中找不到它们。

标签: java maven javafx netbeans


【解决方案1】:

这是依赖eu.hansolo:Medusa:11.2 中的一个错误,因为它依赖于JavaFX 的mac 版本,因此模块路径将包含winmac 版本的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 即可。

【讨论】:

  • 我可能不会单独发现问题出在依赖关系上。非常感谢。
  • @wannaBeDev 我很高兴能提供帮助。赏金达到 100K 会很有帮助;)
  • 我不知道我必须确认我刚才所做的。我一直祈祷你很快就会突破 100k。
猜你喜欢
  • 2019-10-05
  • 1970-01-01
  • 2018-11-22
  • 1970-01-01
  • 2023-02-26
  • 1970-01-01
  • 2019-11-21
  • 1970-01-01
  • 2023-04-07
相关资源
最近更新 更多