编译时未找到 JavaFX 模块(module.FindException)

标签 java eclipse javafx compiler-errors

对于太多其他人来说,我也有同样的问题,编译器无法找到JavaFX模块。首先,我使用 Eclipse 并将我的 JavaFX 位置添加为 Eclipse 中的用户库 ( like this ),添加我的项目依赖项 ( like this ) 并确保我的 %PATH_TO_FX% 已设置 ( like this )。

之后,我将以下参数添加到运行配置中的VM Arguments:

--module-path "C:\Program Files\Java\javafx-sdk-13\lib"
--add-modules=javafx.base,javafx.controls,javafx.fxml,javafx.graphics,javafx.media,javafx.swing,javafx.web

这会产生以下消息:

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

我确实有一个 module-info.java 文件,如下所示:

module MyProject {
    opens gui.controller to javafx.fxml;
    opens gui to javafx.graphics;

    requires transitive javafx.graphics;
    requires java.sql;
    requires javafx.base;
    requires javafx.controls;
    requires javafx.fxml;
    requires javafx.media;
    requires javafx.web;
    requires java.desktop;

    requires commons.logging;
    requires itextpdf;
    requires mysql.connector.java;
    requires org.json;
}

Eclipse 生成的完整命令行如下所示。

C:\Program Files\Java\jdk-13.0.2\bin\javaw.exe
--module-path "C:\Program Files\Java\javafx-sdk-13\lib"
--add-modules=javafx.base,javafx.controls,javafx.fxml,javafx.graphics,javafx.media,javafx.swing,javafx.web
-Dfile.encoding=Cp1252
-p "D:\Bibliothek\Projekte\Git\MyProject\bin;D:\Bibliothek\Projekte\Git\MyProject\external\commons-logging-1.2.jar;D:\Bibliothek\Projekte\Git\MyProject\external\fontbox-2.0.17.jar;D:\Bibliothek\Projekte\Git\MyProject\external\itextpdf-5.5.13.1.jar;D:\Bibliothek\Projekte\Git\MyProject\external\mysql-connector-java-5.1.47-bin.jar;D:\Bibliothek\Projekte\Git\MyProject\external\pdfbox-2.0.17.jar;D:\Bibliothek\Projekte\Git\MyProject\external\json-20190722.jar"
-m BuechereiSoftware/gui.BuechereiSoftware

最佳答案

我通过不在 Eclipse 中使用自定义 JavaFX 用户库作为系统库解决了这个问题。

您可以在 Eclipse > Preferences > Java > Build Path > User Libraries 下找到此设置,然后编辑 JavaFX 库并取消选中系统库(添加到启动类路径)。现在看起来应该像 this

关于编译时未找到 JavaFX 模块(module.FindException),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61288374/

相关文章:

java - 如何在java中使用DOM解析xml

java - 如何使用 If else 语句 java 进行身份验证过滤器

java - 解决 Java 中的 NullPointerException 问题 - 认为这是一个初始化问题,但找不到它

java - Java 奇怪的 Eclipse 编译错误

Eclipse 更改断点颜色

JavaFX - 在主阶段关闭时关闭任何其他阶段,但允许它们隐藏在主阶段后面

java - 在 JavaFX 中获取行号

java - 如何构建三层 Web 服务

java - 通过通用方法使单元格可编辑

java - 有免费的 Qt Jambi GUI Designer 吗?