从GitLab克隆的Maven项目无法找到JavaFX模块求助
问题:Maven构建JavaFX项目时提示找不到JavaFX模块
从GitLab克隆了一个Maven构建的JavaFX项目,仅通过Maven引入依赖,未使用外部JAR包。构建时出现无法找到JavaFX模块的错误。
相关代码如下:
module-info.java
module com.example.fluganzeigetafel { requires javafx.controls; requires javafx.fxml; requires java.desktop; requires com.google.zxing; requires pdfbox.app; opens com.example.fluganzeigetafel.Contract to javafx.base; opens com.example.fluganzeigetafel to javafx.fxml; exports com.example.fluganzeigetafel; exports com.example.fluganzeigetafel.Controller; opens com.example.fluganzeigetafel.Controller to javafx.fxml; exports com.example.fluganzeigetafel.Manager; opens com.example.fluganzeigetafel.Manager to javafx.fxml; exports com.example.fluganzeigetafel.Utility; opens com.example.fluganzeigetafel.Utility to javafx.fxml; exports com.example.fluganzeigetafel.CustomDialogs; opens com.example.fluganzeigetafel.CustomDialogs to javafx.fxml; exports com.example.fluganzeigetafel.Data; opens com.example.fluganzeigetafel.Data to javafx.fxml; exports com.example.fluganzeigetafel.Handler; opens com.example.fluganzeigetafel.Handler to javafx.fxml; }
pom.xml片段
<dependency> <groupId>org.openjfx</groupId> <artifactId>javafx-controls</artifactId> <version>19-ea+7</version> </dependency> <dependency> <groupId>org.openjfx</groupId> <artifactId>javafx-fxml</artifactId> <version>19-ea+7</version> </dependency>
解决方案
- 添加OpenJFX Maven插件
JavaFX模块化项目仅声明依赖不足以让Maven正确识别模块,需添加专用插件来处理模块路径。在pom.xml的<build>标签内加入以下配置:
<plugins> <plugin> <groupId>org.openjfx</groupId> <artifactId>javafx-maven-plugin</artifactId> <version>0.0.8</version> <configuration> <mainClass>com.example.fluganzeigetafel.Main</mainClass> <moduleName>com.example.fluganzeigetafel</moduleName> </configuration> </plugin> </plugins>
注意将mainClass替换为项目实际的主类全路径。
核对Java版本兼容性
JavaFX 19要求JDK版本不低于11,执行java -version命令确认本地JDK版本符合要求。替换为稳定版依赖
当前使用的是JavaFX 19的早期预览版(19-ea+7),存在兼容性风险,建议替换为正式稳定版:
<dependency> <groupId>org.openjfx</groupId> <artifactId>javafx-controls</artifactId> <version>19</version> </dependency> <dependency> <groupId>org.openjfx</groupId> <artifactId>javafx-fxml</artifactId> <version>19</version> </dependency>
- 清理并重新加载依赖
若依赖未正确下载,执行以下命令清理Maven缓存并重新构建:
mvn clean install -U
内容的提问来源于stack exchange,提问作者AgonLat
相关产品推荐
相关产品推荐

