------- android培训、java培训、期待与您交流! ----------
1. jar包的作用
jar包相当于Java中的压缩包,可以将多个包“压缩”成一个文件,便于管理和拷贝。该功能的实现是通过JDK工具包中的jar.exe程序完成的。
2. jar包的应用
1) 创建jar压缩包
我们举例来说明jar包的应用。例如,在pack1包中定义一个Demo类,再在pack包中定义JarDemo类,并在JarDemo类主函数中创建Demo类对象,并调用其方法。
代码1:
package pack1;
public class Demo
{
public void f()
{
System.out.println("Demo f() run");
}
}
代码 2 :
package pack;
import pack1.Demo;
class JarDemo
{
public static void main(String[] args)
{
Demo d = new Demo();
d.f();
}
}
运行结果为:
Demo f() run
此时在硬盘中创建了两个包——pack包和pack1包,我们就可以在控制台中通过jar命令将这两个包压缩为一个文件。jar命令详细的参数、格式以及示例,可以通过在控制台直接输入jar获得。
在控制台中输入命令“jar–cf Demo.jar pack pack1”,按下回车确认,此时在当前目录创建了名为Demo的jar压缩文件,使用WinRAR(或其他解压缩程序)打开该文件,其中包含了pack和pack1包。
上述命令中“c”表示“创建一个新的压缩文件”,“f”表示将要创建的压缩文件的名称,后接压缩文件名和被压缩的两个包名。
2) 查看jar压缩包
如果想通过jar命令查看jar包中的文件清单,可以输入命令:“jar –tf Demo.jar”,列出的文件清单为:
META-INF/
META-INF/MANIFEST.MF
pack/
pack/JarDemo.class
pack1/
pack1/Demo.class
上述命令中“t”表示列出jar压缩包中的文件清单,“f”同样表示压缩包名称。在这个文件清单中,“META-INF”文件夹和“MANIFEST.MF”文件是,创建jar包的同时,自动生成的,而该文件中的内容是“配置清单文件”。
3) 通过jar包运行包内类文件
创建jar包以后,JarDemo类就存储在了Demo.jar文件中,而实际上Demo.jar也是一层目录,我们可以通过命令“set classpath=jar包所在路径\Demo.jar”设置classpath,然后直接运行“javaJarDemo”,也可以得到代码2的运行结果。
实际开发中我们常常用到其他开发者已经开发好的各种工具类,而这些工具类通常都是jar包的形式,我们就可以通过将classpath指向这些jar包,非常方便地使用包内的工具类。
4) jar命令中显示详细信息的参数——v
参数v表示在标准输出中生成详细输出。比如,如果在创建jar包时添加v参数,就像“jar -cvf Demo.jar pack pack1”,就会显示压缩的具体信息,包括压缩前文件大小,压缩后文件大小,以及压缩率等等。如果在查看包内清单时添加v命令,就像“jar -tvf Demo.jar”,就可以显示包括文件大小、创建时间等具体信息。
小知识点1:
如果需要在控制台显示一些信息,而信息量有过大,无法在控制台完整查看时,可以使用DOS命令行中的命令“>”,该命令可以将信息输出到某个文本文件中,比如“jar -tvf Demo.jar>f:\Demo.txt”,此时就会在f盘中生成一个Demo.txt文件,其中包含了Demo.jar中的文件夹及其文件信息。