为什么jar会忽略我的清单?

时间:2010-01-30 19:45:45

标签: java jar manifest

我尝试使用此命令创建可执行jar:

jar -cvfm h.jar Manifest.mf Whatever1.class Whatever2.class

清单包含:

Main-Class: Whatever1

但如果我尝试运行jar,我会得到:Failed to load Main-Class manifest attribute from my.jar。我拿出罐子,我看到它的内容就是这样:

Manifest-Version: 1.0
Created-By: 1.6.0_18 (Sun Microsystems Inc.)

为什么忽略我的清单?

编辑:我知道使用-e标志我可以指定一个入口点,jar会生成一个正确的清单,但我想知道如何使这个版本工作。

3 个答案:

答案 0 :(得分:15)

Manifest.mf

的最后一行之后添加换行符

答案 1 :(得分:2)

我注意到清单文件末尾没有换行符有时会导致此问题。查看在清单文件末尾添加新行是否有帮助。

答案 2 :(得分:0)

我想你必须像以下一样运行jar:

jar -cvf h.jar -m Manifest.mf Whatever1.class Whatever2.class

因为选项的值直接来自选项本身。