无法更新.jar中的manifest.mf:行太长错误

时间:2015-08-13 13:16:41

标签: java jar manifest.mf

我有一个.jar文件,里面只有MANIFEST / MANIFEST.MF文件。我想在这个文件中扩展classpath。已经在Google上搜索了如何做到这一点并发现了这个:

  1. 提取MANIFEST / MANIFEST.MF - jar xf myfile.jar MANIFEST/MANIFEST.MF
  2. 编辑清单文件
  3. 在.jar - jar umf myfile.jar MANIFEST/MANIFEST.MF
  4. 内更新

    问题是我收到了这个错误:

    java.io.IOException: line too long
            at java.util.jar.Attributes.read(Attributes.java:379)
            at java.util.jar.Manifest.read(Manifest.java:199)
            at java.util.jar.Manifest.<init>(Manifest.java:69)
            at sun.tools.jar.Main.update(Main.java:652)
            at sun.tools.jar.Main.run(Main.java:271)
            at sun.tools.jar.Main.main(Main.java:1288)
    

    Google表示清单的最大行长为72 - OK。试图不编辑提取的清单文件。当我尝试导入我刚提取的同一个文件时,我得到了同样的错误。也许有一个工具可以格式化清单文件,以使它们“有效”?

    提前谢谢。

2 个答案:

答案 0 :(得分:1)

更新命令应为:

jar umf MANIFEST/MANIFEST.MF myfile.jar 

答案 1 :(得分:0)

使用以下步骤来避免问题

(1)使用单独的行,以避免一行为java包名列表

(2)(每行末尾的空格和开头的空格)。在每个后续行之前键入前面的空格,例如:Class-Path:... jar ... jar ... jar