You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaFX项目构建jar运行提示找不到主类 手动编译缺依赖包报错

问题原因分析
  1. 可执行jar运行找不到主类的原因
  • IDEA构建artifact时未正确配置主类路径,或打包时未将myProgram.Main对应的编译后class文件放入jar包正确的目录结构中。
  • MANIFEST.MF文件的Main-Class属性配置错误,比如写错包名、多写了.class后缀、行尾存在多余空格。
  • 构建artifact时未将JavaFX及其他第三方依赖正确打入jar包,类路径配置冲突导致主类加载失败。
  1. 直接用javac编译报错的原因
    手动执行javac -classpath . myProgram/Main.java时,未将JavaFX的SDK库路径加入编译类路径,也未配置对应的模块参数,javac无法找到JavaFX相关依赖包就会抛出包不存在的错误。IDEA中能正常运行是因为IDE已经自动配置好了依赖路径和VM参数,手动操作时未传递对应参数就会报错。
解决方案

修复jar包找不到主类的问题

  • 打开IDEA项目结构设置(快捷键Ctrl+Alt+Shift+S),依次点击【Artifacts】,找到当前项目的jar构建配置。
  • 检查【Main Class】选项,不要手动输入,直接从下拉框选择myProgram.Main,避免拼写错误。
  • 切换到【Output Layout】标签,确认编译后的myProgram/Main.class文件存在,且所有第三方依赖(包括JavaFX、font-awesome、jfoenix、html-unit、jasper-reports等)都被包含在输出结构中,推荐选择【extract to the target JAR】将所有依赖打入同一个jar包,避免外部依赖路径问题。
  • 检查MANIFEST.MF文件,确保文件存放在src/META-INF目录下,文件内Main-Class属性值为myProgram.Main,不要加.class后缀,行尾不要有多余空格。
  • 配置完成后删除旧的构建产物,重新构建artifact即可。

修复jar包运行时的JavaFX依赖问题

JavaFX从JDK11版本开始已从官方JDK中剥离,就算把依赖打入jar包,运行时也需要传递对应的模块参数,不能直接使用java -jar myProgram.jar运行,完整运行命令如下:

java --module-path "C:\Program Files\Java\javafx-sdk-14.0.2\lib" --add-modules javafx.fxml,javafx.controls,javafx.base,javafx.web,javafx.media,javafx.graphics  --add-opens javafx.base/com.sun.javafx.runtime=ALL-UNNAMED --add-opens javafx.controls/com.sun.javafx.scene.control.behavior=ALL-UNNAMED --add-opens javafx.controls/com.sun.javafx.scene.control=ALL-UNNAMED --add-opens javafx.base/com.sun.javafx.binding=ALL-UNNAMED --add-opens javafx.base/com.sun.javafx.event=ALL-UNNAMED --add-opens javafx.graphics/com.sun.javafx.stage=ALL-UNNAMED -jar myProgram.jar

如果觉得每次运行输入参数繁琐,可以将以上命令写入bat脚本,双击脚本即可直接运行。

可选:手动javac编译的正确命令

如果需要手动通过命令行编译代码,需要将JavaFX库加入编译路径,命令如下:

javac --module-path "C:\Program Files\Java\javafx-sdk-14.0.2\lib" --add-modules javafx.fxml,javafx.controls,javafx.base,javafx.web,javafx.media,javafx.graphics -classpath . myProgram/Main.java

编译完成后运行代码的命令和上面jar运行的命令一致即可。

内容的提问来源于stack exchange,提问作者EFHMedia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 00:18:01