tar、jar、war 三者之间的区别

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库。


warWeb application Archive,与jar基本相同,但它通常表示这是一个Java的Web应用程序的包,tomcat这种Servlet容器会认出war包并自动部署。


这些文件只是使用java jar工具压缩的文件。这些文件是为不同的目的而创建的。以下是对这些文件的描述:

  • jar 文件:.jar 文件包含库(lib)、资源(resources) 和 附件文件(如属性文件 property files)。

  • war 文件:war 文件包含可以部署在任何 servlet/jsp 容器(如Tomcat)上的web应用程序。war 文件包含用于开发web应用程序所需的jsp、html、javascript和 Java 类等文件。


参考资料

1、jar包和war包的介绍和区别
http://blog.csdn.net/u012110719/article/details/44260417

2、JAR、WAR、EAR的使用和区别
http://blog.csdn.net/lishehe/article/details/41607725

3、tar包和jar包和war包的区别?
https://www.zhihu.com/question/22129866

4、Java war vs. jar - what is the difference?
https://stackoverflow.com/questions/5871053/java-war-vs-jar-what-is-the-difference


你可能感兴趣的:(Java基础)