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

无法执行可执行JAR文件:类文件路径异常求助

解决可执行JAR无法找到依赖类的问题

问题根源

你执行jar -cvfm app.jar Main.txt e:\c时,把e:\c目录本身作为JAR根目录下的子目录打包了,导致类文件路径变成C/com/emp/Employee.class。但你的类实际包结构是com.emp.Employee,Java类加载器会在JAR根目录下寻找com/emp/Employee.class,自然找不到依赖类。

正确打包方法

方法一:切换到目标目录打包

  1. 打开命令提示符,执行:
    cd /d E:\C
    
  2. 执行打包命令(指定清单文件的完整路径):
    jar -cvfm E:\a\app.jar E:\a\Main.txt .
    
    这里的.代表当前目录(E:\C)下的所有内容,打包后JAR根目录会直接包含com/emp、com/std结构,和Test类的类路径匹配。

方法二:直接指定目录下的内容(不切换目录)

在E:\a目录下执行命令:

jar -cvfm app.jar Main.txt e:\c\*

用e:\c\*选中E:\C下的所有内容而非目录本身,打包后JAR根目录会直接包含com文件夹。

额外注意事项

  • 清单文件Main.txt的最后一行必须是空行,否则JVM无法正确识别Main-class属性。
  • 确保Test类中引用Employee、Student时的包名正确,比如import com.emp.Employee;,和类文件的实际包结构一致。
  • 打包完成后,可执行jar -tf app.jar查看JAR内结构,确认是com/emp/Employee.class、com/std/Student.class、Test.class及META-INF/MANIFEST.MF,而非包含C目录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 23:04:51