Java无法执行jar文件没有主清单属性

时间:2014-01-20 17:02:56

标签: java

jar cvef Main.jar Main *

added manifest
adding: DrawPane.class(in = 344) (out= 257)(deflated 25%)
adding: DrawPane.java(in = 306) (out= 175)(deflated 42%)
adding: main(in = 9038) (out= 8275)(deflated 8%)
adding: Main.class(in = 868) (out= 544)(deflated 37%)
adding: Main.java(in = 507) (out= 260)(deflated 48%)
adding: Manifest.txt(in = 18) (out= 18)(deflated 0%)
adding: src/(in = 0) (out= 0)(stored 0%)
adding: src/icon.png(in = 1163) (out= 1168)(deflated 0%)
adding: src/Thumbs.db(in = 3584) (out= 1038)(deflated 71%)

创建了jar文件,然后:

java -jar Main.jar

我收到错误:

no main manifest attribute, in Main.jar

我做错了什么?

2 个答案:

答案 0 :(得分:6)

根据this tutorial,您的清单文件应具有相对路径META-INF/MANIFEST.MF。看起来你没有在那里添加自己的清单。 jar命令添加了默认清单,这就是为什么它显示“manifest added”。

编辑:根据the next page in the tutorial,将内容添加到清单文件的基本语法如下:

jar cfm jar-file manifest-addition input-file(s)

我建议您阅读本教程的前几节,我相信您会得到您想要的结果!

答案 1 :(得分:0)

确保在"之后写入1个空格:"并且在课程名称之后添加新行并以此方式保存。 jar工具语法:

cellForRowAtIndexPath

运行工具后,使用

运行jar文件
 jar -cvmf manifest.txt appname.jar ClassName.class

manifest.txt文件的内容

Main-Class:(1space)ClassName(按新行输入)

希望有所帮助