【问题标题】:java.lang.module.FindException: Module javafx.controls not foundjava.lang.module.FindException:找不到模块 javafx.controls
【发布时间】:2021-02-19 18:44:22
【问题描述】:

我正在尝试在 IntelliJ 中运行 JavaFX 应用程序。环境 - Ubuntu 18.04。 Java - 11.

但它给了我错误提示:

Error occurred during initialization of boot layer
java.lang.module.FindException: Module javafx.controls not found

运行控制台中的整个命令:

/usr/lib/jvm/java-1.11.0-openjdk-amd64/bin/java --module-path /home/mua/Software/javafx_sdk-1_3_1-b05a-linux-i586/javafx-sdk1.3/lib --add-modules=javafx.controls,javafx.fxml -Djava.library.path=/home/mua/Software/javafx_sdk-1_3_1-b05a-linux-i586/javafx-sdk1.3/lib -javaagent:/home/ mua/Software/ideaIU-2020.3.1/idea-IU-203.6682.168/lib/idea_rt.jar=41593:/home/mua/Software/ideaIU-2020.3.1/idea-IU-203.6682.168/bin -Dfile.encoding=UTF-8 -classpath /home/mua/Desktop/PhotoSlide/PhotoSlide/target/classes:/home/mua/.m2/repository/org/openjfx/javafx-base/16-ea+7/javafx -base-16-ea+7.jar:/home/mua/.m2/repository/org/openjfx/javafx-base/16-ea+7/javafx-base-16-ea+7-linux.jar:/ home/mua/.m2/repository/org/openjfx/javafx-fxml/16-ea+7/javafx-fxml-16-ea+7.jar:/home/mua/.m2/repository/org/openjfx/javafx -fxml/16-ea+7/javafx-fxml-16-ea+7-linux.jar:/home/mua/.m2/repository/org/openjfx/javafx-graphics/16-ea+7/javafx-graphics -16-ea+7.jar:/home/mua/.m2/repository/org/openjfx/javafx-graphics/16-ea+7/javafx-graphics-16-ea+7-linux.jar:/home/ mua/.m2/repository/org/openjfx/javafx-media/16-ea+7/javafx-media-16-ea+7.jar:/home/mua/.m2/repository/org/openjfx/javafx-media /16-ea+7/javafx-media-16-ea+7-linux.jar:/home/mua/.m2/repository/org/openjfx/javafx-controls/16-ea+7/javafx-controls-16 -ea+7.jar:/home/mua/.m2/repository/org/openjfx/javafx-controls/16-ea+7/javafx-controls-16-ea+7-linux.jar:/home/mua/ .m2/repository/org/openjfx /javafx-swing/16-ea+7/javafx-swing-16-ea+7.jar:/home/mua/.m2/repository/org/openjfx/javafx-swing/16-ea+7/javafx-swing -16-ea+7-linux.jar:/home/mua/.m2/repository/org/controlsfx/controlsfx/11.0.2/controlsfx-11.0.2.jar:/home/mua/.m2/repository/org /kordamp/ikonli/ikonli-core/12.1.0/ikonli-core-12.1.0.jar:/home/mua/.m2/repository/org/kordamp/ikonli/ikonli-javafx/12.1.0/ikonli-javafx -12.1.0.jar:/home/mua/.m2/repository/org/kordamp/ikonli/ikonli-themify-pack/12.1.0/ikonli-themify-pack-12.1.0.jar:/home/mua/ .m2/repository/org/kordamp/ikonli/ikonli-fontawesome-pack/12.1.0/ikonli-fontawesome-pack-12.1.0.jar:/home/mua/.m2/repository/com/github/dragon66/icafe /1.1-SNAPSHOT/icafe-1.1-20190902.150913-102.jar:/home/mua/.m2/repository/com/github/jai-imageio/jai-imageio-core/1.4.0/jai-imageio-core-1.4 .0.jar:/home/mua/.m2/repository/com/twelvemonkeys/imageio/imageio-core/3.6/imageio-core-3.6.jar:/home/mua/.m2/repository/com/twelvemonkeys/common /common-lang/3.6/common-lang-3.6.jar:/home/mua/.m2/repository/ com/twelvemonkeys/common/common-io/3.6/common-io-3.6.jar:/home/mua/.m2/repository/com/twelvemonkeys/common/common-image/3.6/common-image-3.6.jar: /home/mua/.m2/repository/com/twelvemonkeys/imageio/imageio-tiff/3.6/imageio-tiff-3.6.jar:/home/mua/.m2/repository/com/twelvemonkeys/imageio/imageio-psd/ 3.6/imageio-psd-3.6.jar:/home/mua/.m2/repository/com/twelvemonkeys/imageio/imageio-metadata/3.6/imageio-metadata-3.6.jar:/home/mua/.m2/repository/ org/slf4j/slf4j-simple/2.0.0-alpha1/slf4j-simple-2.0.0-alpha1.jar:/home/mua/.m2/repository/org/slf4j/slf4j-api/2.0.0-alpha1/ slf4j-api-2.0.0-alpha1.jar:/home/mua/.m2/repository/com/h2database/h2/1.4.200/h2-1.4.200.jar:/home/mua/.m2/repository/ org/ejml/ejml-simple/0.40/ejml-simple-0.40.jar:/home/mua/.m2/repository/org/ejml/ejml-core/0.40/ejml-core-0.40.jar:/home/mua /.m2/repository/javax/media/jai/com.springsource.javax.media.jai.core/1.1.3/com.springsource.javax.media.jai.core-1.1.3.jar:/home/mua /.m2/repository/org/projectlombok/lombok/1.18.16/lombok-1。 18.16.jar:/home/mua/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.12.0/jackson-databind-2.12.0.jar:/home/mua/.m2/repository/ com/fasterxml/jackson/core/jackson-annotations/2.12.0/jackson-annotations-2.12.0.jar:/home/mua/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.12。 0/杰克逊核心-2.12.0.jar org.photoslide.App

我已经添加了虚拟机:

--module-path /home/mua/Software/javafx_sdk-1_3_1-b05a-linux-i586/javafx-sdk1.3/lib --add-modules=javafx.controls,javafx.fxml

还添加了库:

源码:https://github.com/maifeeulasad/PhotoSlide

Java 配置:

>>java --version
openjdk 11.0.10 2021-01-19
OpenJDK Runtime Environment (build 11.0.10+9-Ubuntu-0ubuntu1.18.04)
OpenJDK 64-Bit Server VM (build 11.0.10+9-Ubuntu-0ubuntu1.18.04, mixed mode, sharing)
>>javac --version
javac 11.0.10  

【问题讨论】:

  • 尝试使用与您的 OpenJFX 库版本匹配的 JDK 版本。 JDK 11 和 OpenJFX 11。
  • @ישואוהבאותך 我正在使用 java11,我现在已将它们添加到问题的底部,请检查
  • @ישואוהבאותך 这不是问题(我正在运行 OpenJDK 15 + OpenJFX 11 - 但我确实在某处读到使用 OpenJDK 14 + OpenJFX 14 时出现问题)。无论如何,OP,您从here 中选择了哪个选项?几天前,当我尝试“来自 IDE 的模块化”时,我遇到了类似的 BS 问题——当我找到的解决方案对我不满意时,我选择了 Maven(我看到你这样做了),但我认为它缺少了一些东西我需要(不确定),所以我选择了 Gradle。那里也有一点 BS,但我设法正确设置了它。
  • 我已经安装了 Java -> export PATH_TO_FX=path/to/javafx-sdk-15.0.1/lib 然后去 intellij 和编辑库和虚拟机选项.. @DoombringerBG
  • 你的pom.xml文件的内容是什么?

标签: java maven javafx ubuntu-18.04


【解决方案1】:

据我了解,您使用的是Non-modular with Maven

我按照上面链接中提供的说明从头开始构建了一个,并注意到用黄色标记的图片。

需要为 OpenJDK 设置 2 个 Environment Virables。一个在您的系统中(例如./bashrc 文件)和一个在 IntelliJ for Maven 中(如果您使用的是 Java 11 或更高版本,在这种情况下就是这样)。

根据您的帖子,我知道您的系统中有这个,但它没有提到这张图片中的那个,所以请确保您这样做。

另外,请注意我没有设置任何虚拟机选项!

上面的链接说:

JavaFX 类将被识别。还要注意 Maven 管理 所需的依赖项:它将添加javafx.basejavafx.graphics 所需的 javafx.controlsjavafx.fxml,但最重要的是,它会添加所需的分类器 根据您的平台,下载特定平台的 jar。

这是我的pom.xml 文件(由 IntelliJ 在制作项目时自动生成):

<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/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.company</groupId>
    <artifactId>testing_maven</artifactId>
    <version>1.0</version>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-controls</artifactId>
            <version>11.0.2</version>
        </dependency>
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-fxml</artifactId>
            <version>11.0.2</version>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.0</version>
                <configuration>
                    <release>11</release>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.openjfx</groupId>
                <artifactId>javafx-maven-plugin</artifactId>
                <version>0.0.4</version>
                <configuration>
                    <mainClass>com.company.App</mainClass>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

我强烈建议您查看我发布的链接。你可能错过了什么。如果没有,那么一定要尝试创建一个新的测试项目,按照说明进行操作,看看它是否有效。如果是,请将其与您当前的项目进行比较。

抱歉,我无法提供更多帮助。我并没有真正使用 Maven。

【讨论】:

    猜你喜欢
    • 2019-05-16
    • 2022-08-19
    • 1970-01-01
    • 2019-06-01
    • 2021-07-23
    • 1970-01-01
    • 2020-02-21
    • 2020-03-13
    • 2021-07-27
    相关资源
    最近更新 更多