如何使用与之前相同的清单重新打包 jar 文件?
How to repack a jar file with same manifest it had before?
我解压了一个 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.)
我想知道在重新打包罐子时是否有标志来指定MANIFEST
。
来自 here,格式为的命令:
$ jar cmf existing-manifest jar-file input-file(s)
会让您包含一个现有的清单文件。
因为jar也是zip压缩包,如果你只想把filex
加到jarfile
,你也可以用:
$ zip jarfile filex
另外值得一提的是,如果文件是 signed,您将破坏签名。
您可以简单地指定它:
$ jar cmf existing-manifest jar-file input-file(s)
查看 here 了解更多信息。
你也可以放上默认清单,然后修改为:
jar cfm jar-file manifest-addition input-file(s)
查看 here 了解有关修改的更多信息。
也可以不重新打包,而是使用目录,其中包含修改后的解压 jar 内容,与 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.)
我想知道在重新打包罐子时是否有标志来指定MANIFEST
。
来自 here,格式为的命令:
$ jar cmf existing-manifest jar-file input-file(s)
会让您包含一个现有的清单文件。
因为jar也是zip压缩包,如果你只想把filex
加到jarfile
,你也可以用:
$ zip jarfile filex
另外值得一提的是,如果文件是 signed,您将破坏签名。
您可以简单地指定它:
$ jar cmf existing-manifest jar-file input-file(s)
查看 here 了解更多信息。
你也可以放上默认清单,然后修改为:
jar cfm jar-file manifest-addition input-file(s)
查看 here 了解有关修改的更多信息。
也可以不重新打包,而是使用目录,其中包含修改后的解压 jar 内容,与 jar 文件具有相同的名称。