2.4.4 更新jar文件
Jar工具提供了u参数向已经存在的jar文件中增加新的文件,其基本命令格式如下所示。
jar uf jar-file.jar input_file(s)
下面分析该命令的参数或选项的含义。
❑u选项说明需要更新jar文件的内容列表。
❑f选项指明需要更新的jar文件必须在命令行中说明。
❑jar-file参数是需要更新的jar文件。
❑input_file(s)表示需要增加到jar文件中的文件列表。
说明 如果增加的文件在jar文件中已经存在,则新文件会覆盖掉原来的文件。
【实例2.4】下面举例说明如何向已经存在的jar文件中增加新文件。请读者再回忆一下ImageAudio.jar的内容:
mETA-INF/
mETA-INF/MANIFEST.MF
myimages;
myimages/T4.gif
myimages/T10.gif
myimages/T2.gif
myimages/T3.gif
myimages/T2.gif
myaudio/
myaudio/mid_warn.wav
myaudio/mid_info.wav
myaudio/mid_err.wav
假设想要向该jar文件中增加一个mid_dd.wav文件,首先在mid_dd.wav文件所在目录下执行如下命令:
Jar uf ImageAudio.jar mid_confirm.wav
再次查看ImageAudio.jar的文件内容则如下所示。
META-INF/
META-INF/MANIFEST.MF
myimages/
myimages/T4.gif
myimages/T10.gif
myimages/T2.gif
myimages/T3.gif
myimages/T2.gif
myaudio/
myaudio/mid_warn.wav
myaudio/mid_info.wav
myaudio/mid_err.wav
mid_confirm.wav
注意
在更新后的jar文件中增加了一个文件,该文件在文件列表的最后一行显示。文件mid_confirm.wav放在ImageAudio.jar文件目录结构的根目录下。
如果想添加的文件在文件夹newaudio中,也可以在该文件夹的直接上级目录中使用-C选项,指定目录,然后进入目录寻找想添加的文件。如下命令所示。
jar uf ImageAudio.jar-C newaudio mid_confirm.wav
该命令的作用是向ImageAudio.jar文件中添加一个音频文件,Jar工具需要在当前目录的newaudio目录下继续搜索名为mid_confirm.wav的文件。
以上介绍了Jar工具的各种使用方式,这里对Jar工具参数含义做个总结:
jar{ctxu}[vfm0Mi][jar-文件][manifest-文件][-C目录]文件名……
选项含义:
❑-c创建新的存档。
❑-t列出存档内容的列表。
❑-x展开存档中的命名的(或所有的)文件。
❑-u更新已存在的存档。
❑-v生成详细输出到标准输出上。
❑-f指定存档文件名。
❑-m包含来自标明文件的标明信息。
❑-o只存储方式,未用ZIP压缩格式。
❑-M不产生所有项的清单(manifest)文件。
❑-i为指定的jar文件产生索引信息。
❑-C改变到指定的目录。
说明
如果一个文件名是一个目录,它将被递归处理。清单(manifest)文件名和存档文件名都需要被指定,按“m”和“f”标志指定的顺序相同。