【问题标题】:Why is jar ignoring my manifest?为什么 jar 忽略我的清单?
【发布时间】:2010-01-30 19:45:44
【问题描述】:

我尝试使用此命令创建可执行 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。我提取了jar,我看到它的清单内容是这样的:

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

为什么我的清单被忽略了?

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

【问题讨论】:

标签: java jar manifest


【解决方案1】:

Manifest.mf的最后一行之后添加换行符

【讨论】:

  • 拯救了我的一天。花了我一个小时的时间,直到我找到你的答案。
  • 在看到你的帖子之前感到很沮丧
  • 这为我节省了很多时间......害怕......我看到这篇文章有点晚......在花了一天时间之后......但无论如何谢谢!!!
【解决方案2】:

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

【讨论】:

    【解决方案3】:

    我想你必须像这样运行 jar:

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

    因为选项的值直接位于选项本身之后。

    【讨论】:

    • 这说:-m : no such file or directory
    • 必须是jar -cmvf h.jar Manifest.mf Whatever1.class Whatever2.class
    猜你喜欢
    • 2013-12-08
    • 2020-11-07
    • 1970-01-01
    • 1970-01-01
    • 2013-09-30
    • 2017-04-16
    • 2016-06-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多