java中jar包的生成與使用
阿新 • • 發佈:2018-11-19
什麼是jar包?
JAR檔案的全稱是Java Archive File,意思是Java檔案檔案。是一種壓縮檔案,與常見的ZIP壓縮檔案相容。兩者最大的區別是在JAR檔案中預設包含一個名為META-INF/MANIFEST.MF的清單檔案,這個檔案是生成JAR檔案時由系統自動建立的。
使用jar包的好處
- 安全,可以對其進行數字簽名,只讓能夠識別數字簽名的使用者使用裡面的東西。
- 加快下載速度;
- 壓縮,使檔案變小,與ZIP壓縮機制完全相同。
- 包封裝。能夠讓JAR包裡面的檔案依賴於統一版本的類檔案。
- 可移植性,能夠在各種平臺上直接使用。
把一個JAR檔案新增到系統的classpath環境變數之後,java通常會把這個JAR檔案當做一個路徑來處理。通常使用jar命令來壓縮,可以把一個或多個路徑全部壓縮成一個JAR檔案。
什麼情況下使用jar包?
當開發一個應用程式後這個應用程式包含了很多類,如果需要把這個程式提供給別人使用,通常會將這些類檔案打包成一個JAR檔案,把這個檔案提供給別人使用。只要在別人系統的CLASSPATH環境變數中新增這個檔案,則java虛擬機器就可以自動在記憶體中解壓這個jar包。
可以使用命令來建立也可以再編譯器中建立
在編譯器中建立
在這裡選擇帶有主方法的類,點選OK;如果要打包普通的類,即沒有帶主方法,在這裡不用選直接進行下一步點選OK
操作成功後可以在以下目錄檢視到生成的jar包
如何使用jar包
-
將生成的jar複製到想用的地方。
如複製到桌面上,然後開啟命令視窗執行java -jar jar包名
-
如果想在另一個工程中使用:
將剛才的jar包新增進新建的目錄
新增進依賴
用命令建立
jar命令詳解
jar cf test.jar test
不顯示壓縮過程將當前路徑下的test路徑下的全部內容生成一個test.jar檔案,如果已經存在則被覆蓋。jar cvf test.jar test
顯示壓縮過程;jar cvfM test.jar test
不生成清單檔案;jar cvfm test.jar manifest.mf test
自定義清單檔案資訊,m指定讀取使用者清單資訊。清單檔案是普通文字檔案。jar cvfm test.jar a.txt test
jar tf test.jar
檢視jar包內容;jar tf test.jar > a.txt
:如果jar包中的檔案路徑和檔案非常多,用上一個命令就無法檢視所有,所以用重定向將顯示結果儲存到檔案中。jar tvf test.jar
:檢視詳細內容;jar xf test.jar
解壓,將jar檔案解壓到當前目錄下;jar xvf test.jar
解壓,顯示解壓過程的資訊;jar uf test.jar Hello.class
:更新test.jar中的Hello.jar檔案,如果存在則覆蓋,否則新增;jar uvf test.jar Hello.class
:更新時顯示詳細資訊;
建立可用jar包
jar命令-e選項,該選項指定JAR包中作為程式入口的主類的類名。
jar cvfe test.jar test.Test test
上面的命令把test目錄下的所有檔案都壓縮到test.jar包中,並指定使用test.Test類作為程式入口。
執行上面JAR包有兩種方式:
java -jar test.jar
javaw test.jar
當建立JAR包時,所有類都必須放在與包結構對應的目錄結構中。就像上面-e選項指定的Test類,表明入口類為Test類。因此在JAR包下包含Test.class檔案。