Java如何使用jar命令打包
jar命令
把多個(gè)文件打包成一個(gè)壓縮包——這個(gè)壓縮包和WinZip的壓縮格式是一樣的。
區(qū)別在于jar壓縮的文件默認(rèn)多一個(gè)META-INF的文件夾,該文件夾里包含一個(gè)MANIFEST.MF的文件(清單)。
通常來(lái)說(shuō),得到的壓縮包有3種(壓縮格式完全一樣,只是后綴名不同而已):
1、*.jar
它里面包含N個(gè)class文件。
2、war(Web)
它是一個(gè)Web應(yīng)用打包生成的包。
3、ear(Enterprise)
它是一個(gè)企業(yè)應(yīng)用打包生產(chǎn)的包。
jar命令的用法:
-c | |
-t | |
-x | |
-v | |
-f | |
-m | |
-e | |
-0 | |
-M | |
-i | |
-C | |
1、創(chuàng)建壓縮包
jar -cf jar包名字.jar *.class
生成更加詳細(xì)的輸出
jar -cvf jar包名字.jar *.class
2、創(chuàng)建壓縮包,不生成清單文件
jar -cvMf jar包名字.jar *.class
3、查看壓縮包
jar -tf jar包名字.jar
查看更加詳細(xì)的信息
jar -tvf jar包名字.jar
4、解壓壓縮包
jar -xf jar包名字.jar
解壓,看到詳細(xì)的過(guò)程
jar -xvf jar包名字.jar
5、更新壓縮包
jar -uvf jar包名字.jar *.class
為什么要制作jar包?
一個(gè)真實(shí)的項(xiàng)目中,涉及到的class文件是非常多的。存在如下問(wèn)題:
1、非常多的class文件,系統(tǒng)管理不方便。
2、JVM需要分開(kāi)、依次加載不同的*.class文件,效率很低。
于是就可以把多個(gè)class文件,打包成一個(gè)jar包,好處是:
1、多個(gè)class被統(tǒng)一成了一個(gè)jar包,方便管理。
2、JVM可以直接加載jar包,就可以一次就加載N個(gè)類,效率更高。
可以打包出“可執(zhí)行性”的jar包。
通過(guò)-e選項(xiàng),告訴系統(tǒng)哪個(gè)類是該jar的主類。
jar -cvfe jar包名字.jar 主類名字 *.class
如果機(jī)器安裝了獨(dú)立的虛擬機(jī),只要雙擊“可執(zhí)行性”的jar包即可運(yùn)行。
java -jar jar包名字
如果不需要生成清單文件(MANIFEST.MF),可以直接使用WinRAR或WinZip壓縮,也可以用WinRAR或WinZip來(lái)解壓。
到此這篇關(guān)于Java如何使用jar命令打包的文章就介紹到這了,更多相關(guān)java jar命令打包內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java啟動(dòng)jar包修改JVM默認(rèn)內(nèi)存問(wèn)題
這篇文章主要介紹了java啟動(dòng)jar包修改JVM默認(rèn)內(nèi)存問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02java中對(duì)象為null時(shí)的打印輸出方式
這篇文章主要介紹了java中對(duì)象為null時(shí)的打印輸出方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09淺談Java中Int、Integer、Integer.valueOf()、new Integer()之間的區(qū)別
本文主要介紹了淺談Java中Int、Integer、Integer.valueOf()、new Integer()之間的區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11maven私有鏡像倉(cāng)庫(kù)nexus部署使用
Nexus在企業(yè)開(kāi)發(fā)中還是比較常用的私有倉(cāng)庫(kù)管理工具,本文主要介紹了maven私有鏡像倉(cāng)庫(kù)nexus部署使用,具有一定的參考價(jià)值,感興趣的可以了解一下2024-07-07Mybatis如何開(kāi)啟控制臺(tái)打印sql語(yǔ)句
在SpringBoot與Mybatis整合開(kāi)發(fā)中,開(kāi)啟控制臺(tái)SQL語(yǔ)句打印是一個(gè)常見(jiàn)需求,有助于調(diào)試與性能優(yōu)化,方法一:在Mybatis配置文件mybatis-config.xml中添加設(shè)置;方法二:在SpringBoot配置文件application.yml或properties中2024-11-11java注釋轉(zhuǎn)json插件開(kāi)發(fā)實(shí)戰(zhàn)詳解
這篇文章主要為大家介紹了java注釋轉(zhuǎn)json插件開(kāi)發(fā)實(shí)戰(zhàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06Spring在多線程下@Resource注入為null的問(wèn)題
這篇文章主要介紹了Spring在多線程下@Resource注入為null的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02