求助:java.lang.module.FindException: Module JavaFXApp not found异常
解决java.lang.module.FindException: Module JavaFXApp not found异常
1. 核对模块名一致性
- 确保
module-info.java中声明的模块名,与VM启动选项--module参数指定的名称完全匹配(大小写、包路径都不能出错)。 - 示例正确的
module-info.java结构:module JavaFXApp { requires javafx.controls; requires javafx.fxml; opens com.example.javafxapp to javafx.fxml; exports com.example.javafxapp; }
2. 检查编译输出的模块结构
- 确认编译后的class文件目录层级正确:编译输出目录(如
target/classes或out/production/classes)下需直接包含module-info.class,同时存在对应包名的目录结构(比如com/example/javafxapp/Main.class)。 - 若使用IDE,检查项目设置中的模块输出路径,确保指向包含
module-info.class的目录。
3. 验证VM启动选项的完整性
- 确保VM选项同时包含JavaFX模块路径、依赖模块和启动模块参数,完整示例(需替换为你的JavaFX SDK实际路径):
--module-path "D:\javafx-sdk-21.0.1\lib" --add-modules javafx.controls,javafx.fxml --module JavaFXApp/com.example.javafxapp.Main - 注意
--module参数格式为模块名/主类全限定名,主类必须被exports或opens修饰,且包含main方法。
4. 确认JDK与JavaFX版本兼容性
- 执行
java --version验证运行时使用的JDK版本确实为20;若用IDE,检查项目SDK和运行时SDK是否均设置为JDK 20。JDK 20与JavaFX 21.0.1兼容,但版本不匹配可能导致加载异常。
5. 清理并重新编译项目
- 手动删除编译输出目录(如
target、out),重新执行编译和运行命令,避免旧编译产物干扰;IDE中可使用Clean Project+Rebuild Project功能。
内容的提问来源于stack exchange,提问作者Subham Bose
相关产品推荐
相关产品推荐

