java.lang.module.FindException:未找到模块 javafx.controls

时间:2021-02-19 18:44:22

标签: java maven javafx ubuntu-18.04

我正在尝试在 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/jackson-core-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

还添加了库:

java.lang.module.FindException: Module javafx.controls not found

源代码: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  

1 个答案:

答案 0 :(得分:0)

据我所知,您使用的是 Non-modular with Maven

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

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

根据你的帖子,我知道你的系统中有一个,但它没有提到这张图片中的那个,所以一定要这样做。

另外,请注意我还没有设置任何 VM 选项!

上面的链接指出:

<块引用>

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

OpenJDK ENV in Maven

这是我的 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。