我尝试使用此命令创建可执行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会生成一个正确的清单,但我想知道如何使这个版本工作。
答案 0 :(得分:15)
在Manifest.mf
答案 1 :(得分:2)
我注意到清单文件末尾没有换行符有时会导致此问题。查看在清单文件末尾添加新行是否有帮助。
答案 2 :(得分:0)
我想你必须像以下一样运行jar:
jar -cvf h.jar -m Manifest.mf Whatever1.class Whatever2.class
因为选项的值直接来自选项本身。