更新 JAR 文件

Jar 工具提供了u选项,您可以通过修改清单或添加文件来更新现有 JAR 文件的内容。

添加文件的基本命令具有以下格式:

jar uf jar-file input-file(s)

在此命令中:

  • u选项表示您要“更新”现有的 JAR 文件。

  • f选项表示在命令行上指定了要更新的 JAR 文件。

  • jar\-file是要更新的现有 JAR 文件。

  • input\-file\(s\)是要添加到 JAR 文件中的一个或多个文件的空格分隔列表。

归档中已存在且与要添加的文件具有相同路径名的所有文件将被覆盖。

创建新的 JAR 文件时,可以选择使用\-C选项指示目录更改。有关更多信息,请参见创建一个 JAR 文件部分。

Examples

回想一下TicTacToe\.jar具有以下内容:

META-INF/MANIFEST.MF
TicTacToe.class
TicTacToe.class
TicTacToe.java
audio/
audio/beep.au
audio/ding.au
audio/return.au
audio/yahoo1.au
audio/yahoo2.au
example1.html
images/
images/cross.gif
images/not.gif

假设您要将文件images/new\.gif添加到 JAR 文件中。您可以通过从images目录的父目录中发出以下命令来完成此操作:

jar uf TicTacToe.jar images/new.gif

修订后的 JAR 文件将具有以下目录:

META-INF/MANIFEST.MF
TicTacToe.class
TicTacToe.class
TicTacToe.java
audio/
audio/beep.au
audio/ding.au
audio/return.au
audio/yahoo1.au
audio/yahoo2.au
example1.html
images/
images/cross.gif
images/not.gif
images/new.gif

您可以在命令执行期间使用\-C选项“更改目录”。例如:

jar uf TicTacToe.jar -C images new.gif

在将new\.gif添加到 JAR 文件之前,此命令将更改为images目录。将images目录添加到存档中时,它不会包含在new\.gif的路径名中,从而导致目录如下:

META-INF/MANIFEST.MF
META-INF/MANIFEST.MF
TicTacToe.class
TicTacToe.class
TicTacToe.java
audio/
audio/beep.au
audio/ding.au
audio/return.au
audio/yahoo1.au
audio/yahoo2.au
example1.html
images/
images/cross.gif
images/not.gif
new.gif