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

Ubuntu 14.04命令行运行Java项目报错:找不到或无法加载主类

解决Jar包运行时"Could not find or load main class"问题

我来帮你排查这个Ubuntu 14.04下Jar包找不到主类的问题,大概率是清单文件细节或者Jar包结构的小疏漏,咱们一步步来:

  • 检查MANIFEST.MF的格式细节
    这是最常见的坑:Java清单文件要求Main-Class后面的冒号必须跟一个空格,也就是正确写法是Main-Class: Demo,而不是你写的Main-Class:Demo。另外再确认文件末尾的换行,你可以用命令cat -A MANIFEST.MF查看,每一行末尾应该有$符号(代表换行符),包括最后一行。

  • 验证生成的Jar包中清单文件是否正确
    先解压Jar包里的清单文件看看实际内容:

    jar xf example.jar META-INF/MANIFEST.MF
    cat META-INF/MANIFEST.MF
    

    确认Main-Class那一行格式正确,没有多余空格或者拼写错误,比如有没有把Demo写成demo(Java类名大小写敏感)。

  • 检查主类的包声明
    打开你的Demo.java看看有没有package语句,如果有,比如package myapp;,那清单文件里的Main-Class必须写成myapp.Demo,而不是单纯的Demo。

  • 确认Jar包的类文件结构
    用命令查看Jar包里的内容:

    jar tf example.jar
    

    确保Demo.class和Demo$1.class都在Jar包的根目录下,而不是某个子文件夹里。如果类文件在子目录,那Main-Class要对应子目录的路径(比如subfolder.Demo)。

  • 确认运行Jar包的命令正确
    运行Jar包必须用java -jar example.jar这个命令,不要直接用java Demo,后者会从当前目录找类文件,而不是从Jar包里读取。

如果以上步骤都排查过,应该就能解决问题了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:14:42