对于太多其他人来说,我也有同样的问题,编译器无法找到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/