java中jar包的生成與使用方式
jar包的生成與使用
什么是jar包?
JAR文件的全稱是Java Archive File,意思是Java檔案文件。
是一種壓縮文件,與常見的ZIP壓縮文件兼容。
兩者最大的區(qū)別是在JAR文件中默認包含一個名為META-INF/MANIFEST.MF的清單文件,這個文件是生成JAR文件時由系統(tǒng)自動創(chuàng)建的。
使用jar包的好處
- 安全,可以對其進行數(shù)字簽名,只讓能夠識別數(shù)字簽名的用戶使用里面的東西。
- 加快下載速度;
- 壓縮,使文件變小,與ZIP壓縮機制完全相同。
- 包封裝。能夠讓JAR包里面的文件依賴于統(tǒng)一版本的類文件。
- 可移植性,能夠在各種平臺上直接使用。
- 把一個JAR文件添加到系統(tǒng)的classpath環(huán)境變量之后,java通常會把這個JAR文件當做一個路徑來處理。通常使用jar命令來壓縮,可以把一個或多個路徑全部壓縮成一個JAR文件。
什么情況下使用jar包?
當開發(fā)一個應(yīng)用程序后這個應(yīng)用程序包含了很多類,如果需要把這個程序提供給別人使用,通常會將這些類文件打包成一個JAR文件,把這個文件提供給別人使用。
只要在別人系統(tǒng)的CLASSPATH環(huán)境變量中添加這個文件,則java虛擬機就可以自動在內(nèi)存中解壓這個jar包。
可以使用命令來創(chuàng)建也可以再編譯器中創(chuàng)建
在編譯器中創(chuàng)建
在這里選擇帶有主方法的類,點擊OK;如果要打包普通的類,即沒有帶主方法,在這里不用選直接進行下一步點擊OK
操作成功后可以在以下目錄查看到生成的jar包
如何使用jar包
將生成的jar復(fù)制到想用的地方。
如復(fù)制到桌面上,然后打開命令窗口執(zhí)行 java -jar jar包名
如果想在另一個工程中使用:
將剛才的jar包添加進新建的目錄
添加進依賴
用命令創(chuàng)建
jar命令詳解
jar cf test.jar test
不顯示壓縮過程將當前路徑下的test路徑下的全部內(nèi)容生成一個test.jar文件,如果已經(jīng)存在則被覆蓋。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
將清單文件中的key-value對提取到META-INF/MANIFEST.MF文件中。jar tf test.jar
查看jar包內(nèi)容;jar tf test.jar > a.txt
:如果jar包中的文件路徑和文件非常多,用上一個命令就無法查看所有,所以用重定向?qū)@示結(jié)果保存到文件中。jar tvf test.jar
:查看詳細內(nèi)容;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
:更新時顯示詳細信息;
創(chuàng)建可用jar包
jar命令-e選項,該選項指定JAR包中作為程序入口的主類的類名。
jar cvfe test.jar test.Test test
上面的命令把test目錄下的所有文件都壓縮到test.jar包中,并指定使用test.Test類作為程序入口。
運行上面JAR包有兩種方式:
java -jar test.jar
javaw test.jar
當創(chuàng)建JAR包時,所有類都必須放在與包結(jié)構(gòu)對應(yīng)的目錄結(jié)構(gòu)中。
就像上面-e選項指定的Test類,表明入口類為Test類。
因此在JAR包下包含Test.class文件。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
springboot響應(yīng)json?null值過濾方式
這篇文章主要介紹了springboot響應(yīng)json?null值過濾方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-11-11