什么是jar文件
全程为Java Archive File,Java档案文件,是一种压缩文件,与zip兼容,也被称为jar包。
jar与zip的区别,jar打包时默认包含META-INF/MANIFEST.MF清单文件
使用jar文件
jar文件的生成
jar文件由jar命令压缩而成,使用jar命令压缩生成的jar文件时,可以把一个或多个路径全部压缩成一个jar文件。
jar命令详解
eg: 有如下程序,亦可是一个程序包
public class helloWorld {
public static void main(String[] args) {
System.out.println("hello world!");
}
}
- jar cf helloWorld.jar helloWorld.java 将该文件压缩成helloWorld.jar文件而不显示过程
- jar cvf helloWorld.jar helloWorld.java 多了一个v,将该文件压缩成helloWorld.jar文件并且显示过程
- jar cvfM helloWorld.jar helloWorld.java 比2. 多了M表示不添加META-INF/MANIFEST.MF文件
- jar cvfM helloWorld.jar manifest.mf helloWorld.java. 与2.类似,不过manifest.mf清单文件由自己定义,定义规则如下:
- 每行只能定义一个key-value对
- 每组key-value对之间以“:”分隔
- 文件开头不能有空行
- 文件必须以空行结束
-
jar tf helloWorld.jar 查看jar包内容
-
jar tvf helloWorld.jar 查看jar包详细内容
-
jar xf helloWorld.jar 解压缩
-
jar xvf helloWorld.jar 带提示信息解压缩
-
jar uf helloWorld.jar helloWorld.class 更新jar文件中的 helloWorld.class 文件
-
jar uvf helloWorld.jar helloWorld.class 更新时显示详细信息
创建可执行的jar包
- jar cvfe helloWorld.jar helloWorld *.class 表示将当前命令下的所有.class文件都压缩到helloWorld.jar包中,并指定helloWorld类作为程序的入口
运行上面的jar包有两种方式
- java-jar helloWorld.jar
- javaw helloWorld.jar
补充:除此之外,Java还可能生成两种压缩包:WAR包和EAR包。其中WAR文件是Web Archive File,它对应一个Web应用文档;而EAR文件就是Enterprise Archive File,它对应于一个企业应用文档(通常由Web应用和EJB两个部分组成)。实际上,WAR包和EAR包的压缩格式及压缩方式与JAR包完全一样,只是改变了文件后缀而已。