2018年09月24日
- jar包概念
- 编译打包
- 测试使用
- jar用途
- 与其他压缩格式的区别
1、什么是jar包?
JAR(Java ARchive,Java 归档)是一种与平台无关的文件格式,可将多个文件合成一个文件。
除了可以包括声音和图像文件以外,也可以在其中包括类文件。
JAR 文件格式以流行的 ZIP 文件格式为基础。与 ZIP 文件不同的是,JAR 文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可被像编译器和 JVM 这样的工具直接使用。在 JAR 中包含特殊的文件,如 manifests 和部署描述符,用来指示工具如何处理特定的 JAR。
2、编译打包
2.1 写个测试Demo类
2.2 使用指令编译打包成jar
jar cvf jarTest pkg1/
2.3 查看jar包生成情况
lsattr jarTest
ls -lh jarTest
file -h jarTest
stat jarTest
3、测试使用
3.1 写个测试类,其中导入jar包
输出:
4 jar用途
4.1 用于发布和使用类库 ;
4.2 作为应用程序和扩展的构建单元 ;
4.3 作为组件、applet 或者插件程序的部署单位 ;
4.4 用于打包与组件相关联的辅助资源
5、与其他压缩格式的区别
tar:tar是*nix下的打包工具,生成的包通常也用tar作为扩展名,其实tar只是负责打包,不一定有压缩,事实上可以压缩,也可以不压缩,通常你看到xxxx.tar.gz,就表示这个tar包是压缩的,并且使用的压缩算法是GNU ZIP,而xxxx.tar.bz2就表示这个包使用了bzip2算法进行压缩,当然这样的命名只是一种惯例,并非强制。简单地说,tar就仅是打包。
jar:即Java Archive,Java的包,Java编译好之后生成class文件,但如果直接发布这些class文件的话会很不方便,所以就把许多的class文件打包成一个jar,jar中除了class文件还可以包括一些资源和配置文件,通常一个jar包就是一个java程序或者一个java库。
war:Web application Archive,与jar基本相同,但它通常表示这是一个Java的Web应用程序的包,tomcat这种Servlet容器会认出war包并自动部署。