如何使用之前的清单重新打包jar文件?

时间:2015-07-30 13:13:51

标签: java jar executable-jar

我解压缩一个jar文件,添加filex然后使用以下命令将其filex压缩:

jar cf jarfile input-files filex META-INF

我发现在使用这个新文件打包jar后,新的MANIFEST是默认的,基本上是空的:

Manifest-Version: 1.0
Created-By: 1.8.0_40 (Sun Microsystems Inc.)

我想知道在重新包装jar时是否有一个标志来指定MANIFEST

3 个答案:

答案 0 :(得分:3)

来自here,命令形式为:

$ jar cmf existing-manifest jar-file input-file(s)

将允许您包含现有的清单文件。

因为jar也是zip存档,如果您要做的只是将filex添加到jarfile,您还可以使用:

$ zip jarfile filex

另外值得一提的是,如果文件为signed,您将打破签名。

答案 1 :(得分:1)

您只需使用以下命令指定:

$ jar cmf existing-manifest jar-file input-file(s)

查看here了解详情。

您还可以输入默认清单,然后使用以下命令修改它:

jar cfm jar-file manifest-addition input-file(s)

检查here以获取有关修改的更多信息。

答案 2 :(得分:0)

也可以使用包含修改后的解压缩jar内容的目录,而不是重新打包,使用与jar文件具有相同名称的目录。