1. 程式人生 > >開發日常小結(30):jar包的打包與使用

開發日常小結(30):jar包的打包與使用

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包並自動部署。