6.12.3 关于JAR包的技巧

6.12.3 关于JAR包的技巧

JAR文件实际上就是ZIP文件,所以可以使用一些常见的解压缩工具来解压缩JAR文件,如Windows下的WinRARWinZip等,以及Linux下的unzip等。使用WinRARWinZip等工具比使用JAR命令更加直观、方便;而使用unzip则可通过d选项来指定目标目录。

解压缩一个JAR文件时不能使用jar-C选项来指定解压的目标目录,因为-C选项只在创建或者更新包时可用。

jar命令只能解压到当前目录下

如果需要将文件解压缩到指定目录下,则需要先将该JAR文件拷贝到目标目录下,再使用jar命令进行解压缩

Linux中使用unzip解压jar包到指定目录

如果使用unzip,只需要指定一个-d选项即可指定解压目录。例如:
unzip test.jar -d dest/

Windows中通过压缩工具手动创建jar包

如果不喜欢jar命令的字符界面,也可以使用WinRAR工具来创建JAR包。因为WinRAR工具创建压缩文件时不会自动添加清单文件,所以需要手动添加清单文件,即需要手动建立META-INF路径,并在该路径下建立一个MANIFEST.MF文件,该文件中至少需要如下两行:

1
2
3
4
Manifest-Version: 1.0
Created-By: 9 (Oracle Corporation)
Main-Class: test.Test

上面的MANIFEST.MF文件是一个格式敏感的文件,该文件的格式要求与前面自定义清单的格式要求完全一样。
接下来选中需要被压缩的文件、文件夹和META-INF文件夹,单击右键弹出右键菜单,单击”添加到压缩文件(A)”,
然后选择压缩成ZIP格式,并输入压缩后的文件名Test.jar,然后单击”确定”按钮,即可生成一个JAR包,与使用jar命令生成的JAR包没有区别。

java中的其他压缩包

除此之外,Java还可能生成两种压缩包:WAR包和EAR包。其中WAR文件是Web Archive File,它对应一个Web应用文档;而EAR文件就是Enterprise Archive File,它对应于一个企业应用文档(通常由Web应用和EJB两个部分组成)。实际上,WAR包和EAR包的压缩格式及压缩方式与JAR包完全一样,只是改变了文件后缀而已。