使用jar进行存档时头文件无效

时间:2009-01-07 05:40:53

标签: java jar

当我使用此cmd行时: jar cmf arshad.mf ars.jar * .class 我收到这个错误:

invalid header field name:Manifest-version

这是我的清单文件:

Manifest-Version: 1.0
Main-Class:t

我使用UTF-8编码的记事本制作清单文件 - 清单有问题吗?

3 个答案:

答案 0 :(得分:17)

在冒号后面添加一个空格:

Manifest-Version: 1.0
Main-Class: t

答案 1 :(得分:0)

是的,这是真的。

人们在为jar创建清单文件时犯的一个常见错误是他们不会在冒号之后放置空格。我不知道,根据你在这里所写的内容,不管是不是,但试一试。

示例:

Main-Class:someClass //wrong
Main-Class: someClass //correct

答案 2 :(得分:0)

此外,您的清单文件必须保存为UTF-8。您不一定能安全地将其写在MS记事本上并保存为UTF-8编码。这篇文章有一些很好的细节:

Invalid Header Field Name when adding manifest to JAR using Eclipse

记事本在前面添加一些字节以广播数据的字节序。这将打破jar命令。一个不错的解决方案是不使用记事本并下载Notepad ++。在Notepad ++中,从顶​​部栏中选择“编码”,然后选择“不带BOM的UTF-8”。应用此设置保存清单文件可以解决问题。如果没有其他人。