此Java教程是为JDK 8编写的。本页面中描述的示例和实践不利用后续版本中引入的改进,并可能使用不再可用的技术。
请参阅Java语言更改,了解Java SE 9及后续版本中更新的语言特性的概要。
请参阅JDK版本说明,了解有关所有JDK版本的新功能、增强功能以及删除或弃用选项的信息。
Jar工具提供了一个u选项,您可以使用该选项来通过修改其清单或添加文件来更新现有的JAR文件的内容。
添加文件的基本命令格式如下:
jar uf jar-file input-file(s)
在此命令中:
已经在存档中具有与要添加的文件相同路径名的任何文件都将被覆盖。
创建新的JAR文件时,您可以选择使用-C选项来指示目录的更改。更多信息请参阅创建JAR文件部分。
回想一下,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目录。添加到存档中的new.gif的路径名中将不包括images目录,结果是目录内容如下所示:
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