原文
4.9 JAR文件
在将应用程序打包时,你希望只向用户提供一个单独的文件,而不是一个包含大量类文件的目录结构,Java 归档(JAR)文件就是为此目的而设计的。JAR 文件既可以包含类文件也可以包含诸如图像和声音等其他类型的文件。此外,JAR 文件是压缩的,它使用了我们熟悉的ZIP压缩格式。
4.9.1 创建JAR文件
可以使用 jar工具制作JAR 文件(在默认的JDK 安装中,这个工具位于jdk/bin目录下)。创建一个新 JAR 文件最常用的命令使用以下语法:
jar cvf jarFileName file file2 ..
例如:
jar cvf CalculatorClasses.jar *.class icon.gif
通常,jar 命令的格式如下:
jar options filei file2 ..
表4-2 列出了 jar 程序的所有选项。它们类似于 UNIX tar 命令的选项
jar 程序选项
- c 创建一个新的或者空的存档文件并加人文件。如果指定的文件名是目录,jar初序将会对它们进行递归处理
- C 临时改变目录,例如: jar cvf jarFileName.jar -C classes *.class , 切换到classes 子目录以便增加类文件
- e 在清单文件中创建一个入口点(请参见 4.9.3 节)
- f 指定JAR 文件名作为第二个命令行参数。如果没有这个参数,jar 命令会将结果写至标准输出(在创建JAR 文件时)或者从标准输入读取输入(在解压或者列出JAR 文件内容时)
- i 创建索引文件(用于加快大型归档中的查找)
- m 将一个清单文件添加到JAR 文件中。清单文件是对归档内容和来源的一个说明。每个归档有一个默认的清单文件。但是,如果想验证归档文件的内容,可以提供你自己的清单文件
- M 不为条目创建清单文件
- t 显示内容表
- u 更新一个已有的JAR 文件
- v 生成详细的输出
- x 解压文件。如果提供一个或多个文件名,只解压这些文件;否则,解压所有文件
- 0 存储,但不进行 ZIP 压缩
可以将应用程序和代码库打包在 JAR 文件中。例如,如果想在一个 Java 程序中发送邮件,可以使用打包在文件 javax.mail.jar 中的一个库。