1, 使用JAR文件
jar文件的全称是Java Archive File,意思就是Java档案文件,通常jar文件是一种压缩文件,与常见的ZIP压缩文件兼容,通常也被称为jar包,jar 文件与zip文件的区别就是在jar文件中默认包含了一个名为META-inf/manifest.的清单文件,这个清单文件是在生成jar文件时由系统自动创建的。
当开发一个应用程序后,这个应用程序包含了很多类,如果需要把这个应用程序提供给别人使用,通常会将这些类文件打包成一个jar文件,把这个jar 文件提供给别人使用。只要别人在系统的CLASSPATH环境变量中添加这个jar文件,则Java虚拟机就可以自动在内存中解压这个jar包,把这个jar文件当成一个路径,在这个路径中查找需要的类或包层次对应的路径结构。
2. jar包的优点:安全,加快加载速度,压缩,包封装,可移植。
3. a:创建jar文件命令:jar cf test.jar test jar cf jar包名称.jar 要压缩到jar包中的类名。
b:创建jar文件,并显示压缩过程,jar cvf test.jar test
c:不使用清单文件: jar cvfM test.jar test
d: 自定义清单文件内容: jar cvfm testjar manifest.mf test
运行结果与第2个命令相似,显示信息也相同,其中M选项指定读取用户清单文件信息。因此在生成的jar包中清单文件meta-inf/manifest.mf的内容有所不同,它会在原有清单文件基础上增加manifest.me文件的内容。
e:查看jar包内容, jar tf test.jar
当jar包中的文件路径和文件非常多时,直接执行该命令将无法看到包的全部内容,此时可利用重定向将显示结果保存到文件中如:jar tf test.jar >a.txt 执行本命令看不到任何输出,但命令执行结束后,将在当前路径下生成一个a.txt文件,该文件中保存了test.jar包里文件的详细信息。
f:查看jar包详细信息:jar tvf test.jar
该命令与第5个命令基本相似,但它更详细,
g:解压缩: jar xf test
将 test.jar 文件解压缩到当前目录下,不显示任何信息。
h:带提示信息解压缩:jar xvf test.jar
解压缩效果与第7个相同,但系统会显示解压过程的详细信息
h:更新jar文件:jar uf test.jar hello.class
更新test.jar中的Hello.class 文件。如果test.jar中已有Hello.class文件,则使用新的Hello.class文件替换原来的Hello.class文件;如果test.jar中没有Hello.class文件,则把新的Hello.class文件添加到test.jar文件中。
i:更新时显示详细信息:jar uvf test.jar Hello.class