8

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

invalid header field name:Manifest-version

这是我的清单文件:

Manifest-Version: 1.0
Main-Class:t

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

4

3 回答 3

17

在冒号后添加一个空格:

Manifest-Version: 1.0
Main-Class: t
于 2009-01-07T05:44:23.817 回答
0

是的,它是真实的。

人们在为 jar 编写清单文件时常犯的一个错误是,他们没有在冒号后放置空格。我不知道,根据您在这里写的内容,是否是这样,但请尝试一下。

例子:

Main-Class:someClass //wrong
Main-Class: someClass //correct
于 2012-12-20T13:41:52.477 回答
0

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

使用 Eclipse 将清单添加到 JAR 时标头字段名称无效

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

于 2014-06-04T20:38:41.840 回答