tar:
tar是linux等下的打包工具,生成的包通常也用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包並自動部署。
他們相同點是都可以把多個文件打包到一個文件,不同點是 jar是個壓縮文件,而tar只打包,不壓縮,所以tar還要配合其他壓縮工具來壓縮,比如tar.bz2,tar.gz 之類的就是在tar的基礎上進行的壓縮格式。