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

JavaFX15使用IntelliJ打包Jar运行提示找不到main.Launcher主类问题求助

排查解决步骤

  1. 检查MANIFEST.MF配置
  • 解压Jar包,打开META-INF/MANIFEST.MF文件,确认Main-Class属性值为main.Launcher,注意不要带.class后缀,包名、类名拼写完全一致,末尾不要留多余空格或换行。
  • 若使用IntelliJ的Artifact打包,确认主类选择的是main.Launcher,且MANIFEST.MF的生成路径设置正确,不要放在src/main/java目录下,建议放在项目根目录的META-INF文件夹内,避免IDEA未将正确的MANIFEST文件打入Jar包。
  1. 检查模块化配置(项目含module-info.java时适用)
  • 确认module-info.java中已经导出main包,示例配置如下:
module 你的模块名 {
    requires javafx.controls;
    requires javafx.fxml;
    // 必须导出main包,否则类加载器无法访问Launcher类
    exports main;
    // 若FXML文件用到main包下的类,需要添加open配置
    opens main to javafx.fxml;
}
  • 模块化Jar运行时不需要-jar参数,改用--module参数启动,命令示例:
java --module-path "C:\Program Files\Java\javafx-sdk-15.0.1\lib" --add-modules javafx.controls,javafx.fxml --module 你的模块名/main.Launcher
  1. 验证Jar包结构合法性
  • 执行命令jar tf MenuManager.jar输出Jar包内所有文件路径,确认main/Launcher.class路径正确,不存在src/main/java/main/Launcher.class这类嵌套的错误路径。
  • 检查类名大小写是否匹配,类加载器对大小写敏感,即使Windows系统不区分文件名大小写,拼写错误也会导致类找不到。
  • 确认Jar包内的JavaFX依赖版本统一为15.0.1,没有混入其他版本的JavaFX类库。
  1. 快速验证测试
  • 执行命令java -cp MenuManager.jar main.Launcher尝试启动,若能正常运行,可100%确定是MANIFEST.MF的Main-Class配置错误,回到Artifact配置修正即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 19:15:02