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

Bio*_*441 1 java jar executable-jar

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

jar cf jarfile input-files filex META-INF
Run Code Online (Sandbox Code Playgroud)

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

Manifest-Version: 1.0
Created-By: 1.8.0_40 (Sun Microsystems Inc.)
Run Code Online (Sandbox Code Playgroud)

我想知道是否有一个标志来指定MANIFEST再次打包 jar 的时间。

Vla*_*lad 5

这里,形式的命令:

$ jar cmf existing-manifest jar-file input-file(s)
Run Code Online (Sandbox Code Playgroud)

会让你包含一个现有的清单文件。

因为 jars 也是 zip 档案,如果你只想添加filexjarfile,你也可以使用:

$ zip jarfile filex
Run Code Online (Sandbox Code Playgroud)

还值得一提的是,如果文件已签名,您将破坏签名。