jar命令淺析

jar命令淺談

?JAR文件的全稱是Java Archive File尝苇,意思是java檔案文件蒸辆,通常JAR文件是一種壓縮文件治拿,并且與常見(jiàn)的Zip文件兼容,兩者的區(qū)別便是JAR擁有清單文件 (META-INF/MANIFEST.MF)捷绑,這個(gè)文件是生成JAR文件時(shí)自動(dòng)創(chuàng)建的韩脑。
?jar在安裝JDK時(shí)會(huì)自動(dòng)安裝,在bin目錄里面粹污,Windows里是jar.exe段多,Lunix里是jar。
?首先輸入jar命令壮吩,系統(tǒng)會(huì)自動(dòng)提示jar命令的用法进苍。(運(yùn)行dos命令使用的是Cmder軟件,代碼前面的“λ”不用輸入)

λ jar
用法: jar {ctxui}[vfmn0PMe] [jar-file] [manifest-file] [entry-point] [-C dir] files ...
選項(xiàng):
    -c  創(chuàng)建新檔案
    -t  列出檔案目錄
    -x  從檔案中提取指定的 (或所有) 文件
    -u  更新現(xiàn)有檔案
    -v  在標(biāo)準(zhǔn)輸出中生成詳細(xì)輸出
    -f  指定檔案文件名
    -m  包含指定清單文件中的清單信息
    -n  創(chuàng)建新檔案后執(zhí)行 Pack200 規(guī)范化
    -e  為捆綁到可執(zhí)行 jar 文件的獨(dú)立應(yīng)用程序
        指定應(yīng)用程序入口點(diǎn)
    -0  僅存儲(chǔ); 不使用任何 ZIP 壓縮
    -P  保留文件名中的前導(dǎo) '/' (絕對(duì)路徑) 和 ".." (父目錄) 組件
    -M  不創(chuàng)建條目的清單文件
    -i  為指定的 jar 文件生成索引信息
    -C  更改為指定的目錄并包含以下文件
如果任何文件為目錄, 則對(duì)其進(jìn)行遞歸處理鸭叙。
清單文件名, 檔案文件名和入口點(diǎn)名稱的指定順序
與 'm', 'f' 和 'e' 標(biāo)記的指定順序相同觉啊。

示例 1: 將兩個(gè)類文件歸檔到一個(gè)名為 classes.jar 的檔案中:
       jar cvf classes.jar Foo.class Bar.class
示例 2: 使用現(xiàn)有的清單文件 'mymanifest' 并
           將 foo/ 目錄中的所有文件歸檔到 'classes.jar' 中:
       jar cvfm classes.jar mymanifest -C foo/ .

jar文件結(jié)構(gòu)類型

舉例:

原文件目錄結(jié)構(gòu)為:

****
    ├ Foder
    |     ├file1
    |     ├file2
    └ file3

則其生成的jar文件構(gòu)內(nèi)部目錄結(jié)構(gòu):

****.jar
    ├ META-INF
    │ └ MANIFEST.MF(清單文件)
    ├ Foder
    |     ├file1
    |     └file2
    └ file3

命令實(shí)例講解

1.jar cf .............

創(chuàng)建jar文件
語(yǔ)法如下:

jar cf ****.jar file1 file2 ....

?創(chuàng)建****.jar,并將file1,file2 (jar命令可以指定多個(gè)文件) 添加到****.jar包中沈贝,如****.jar存在,則覆蓋杠人。

jar cf ****.jar folderName

?創(chuàng)建****.jar,并將folderName文件夾下所有文件添加到 ****.jar包中宋下,如****.jar存在,則覆蓋嗡善。

2.jar cvf .............

創(chuàng)建jar文件,并且顯示壓縮過(guò)程
會(huì)輸出類似下面的信息学歧。

已添加清單
正在添加: lzj.iml(輸入 = 81) (輸出 = 75)(壓縮了 7%)
........

語(yǔ)法與第一個(gè)命令相似

3.jar cvfM .............

創(chuàng)建jar文件,但不添加清單文件罩引,并且顯示壓縮過(guò)程.
會(huì)輸出類似下面的信息。

正在添加: lzj.iml(輸入 = 81) (輸出 = 75)(壓縮了 7%)
........

語(yǔ)法與第一個(gè)命令相似

4.jar cvfm ...........

創(chuàng)建jar文件,自定義清單文件內(nèi)容,并且顯示壓縮過(guò)程.
語(yǔ)法:

jar cvfm ****.jar ****.mf(大小寫(xiě)皆可) FileName

在原有清單文件基礎(chǔ)上增加****.mf文件的內(nèi)容(不論名稱是什么都可以撩满,但是jar包只認(rèn)manifest.MF,所以系統(tǒng)會(huì)自動(dòng)完成轉(zhuǎn)化)
清單文件可直接編輯,但有相應(yīng)的內(nèi)容格式要求,這里不做過(guò)多介紹伺帘。

5.jar tf ............

查看jar包文件昭躺。
例如

λ jar tf lzj.jar
META-INF/
META-INF/MANIFEST.MF
lzj.iml

如果JAR包內(nèi)文件非常多可使用(命令行窗口顯示的行數(shù)有限)
jar tf lzj.jar > lzj.txt
此時(shí)將不再返回信息,文件夾下會(huì)生成一個(gè)txt文件伪嫁,里面保存著相應(yīng)的信息领炫。
加v,詳細(xì)的查看jar包文件
即jar tvf ............
例如

λ jar tvf lzj.jar
     0 Sat Jul 20 16:18:02 CST 2019 META-INF/
    69 Sat Jul 20 16:18:02 CST 2019 META-INF/MANIFEST.MF
    81 Sun Dec 16 16:13:00 CST 2018 lzj.iml

也可生成txt文件张咳。

6.jar xf ................

解壓縮帝洪,將jar文件解壓到當(dāng)前目錄。不返回信息脚猾。
加v葱峡,即jar xvf ................
系統(tǒng)會(huì)顯示詳細(xì)的解壓過(guò)程
例如

λ jar xvf lzj.jar
  已創(chuàng)建: META-INF/
  已解壓: META-INF/MANIFEST.MF
  已創(chuàng)建: lzj/
  已創(chuàng)建: lzj/.idea/
  已解壓: lzj/.idea/compiler.xml
  已解壓: lzj/.idea/encodings.xml
  已解壓: lzj/.idea/misc.xml
  ................

7.jar uf ..............

語(yǔ)法
jar uf ****.jar file
將文件加入到j(luò)ar文件中,如果有同名文件則替龙助。
加v同樣可以詳細(xì)看到過(guò)程
例如

λ jar uvf lzj.jar pom.xml
正在添加: pom.xml(輸入 = 502) (輸出 = 267)(壓縮了 46%)

jar命令擴(kuò)展

jar i ****.jar

為指定的jar文件生成索引砰奕,生成在META-INF中名稱為INDEX.LIST。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末提鸟,一起剝皮案震驚了整個(gè)濱河市军援,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌称勋,老刑警劉巖胸哥,帶你破解...
    沈念sama閱讀 221,548評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異赡鲜,居然都是意外死亡空厌,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)蝗蛙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)蝇庭,“玉大人,你說(shuō)我怎么就攤上這事捡硅∠冢” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 167,990評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵壮韭,是天一觀的道長(zhǎng)北发。 經(jīng)常有香客問(wèn)我,道長(zhǎng)喷屋,這世上最難降的妖魔是什么琳拨? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,618評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮屯曹,結(jié)果婚禮上狱庇,老公的妹妹穿的比我還像新娘惊畏。我一直安慰自己,他們只是感情好密任,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,618評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布颜启。 她就那樣靜靜地躺著,像睡著了一般浪讳。 火紅的嫁衣襯著肌膚如雪缰盏。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,246評(píng)論 1 308
  • 那天淹遵,我揣著相機(jī)與錄音口猜,去河邊找鬼。 笑死透揣,一個(gè)胖子當(dāng)著我的面吹牛济炎,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播淌实,決...
    沈念sama閱讀 40,819評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼冻辩,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了拆祈?” 一聲冷哼從身側(cè)響起恨闪,我...
    開(kāi)封第一講書(shū)人閱讀 39,725評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎放坏,沒(méi)想到半個(gè)月后咙咽,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,268評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡淤年,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,356評(píng)論 3 340
  • 正文 我和宋清朗相戀三年钧敞,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片麸粮。...
    茶點(diǎn)故事閱讀 40,488評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡溉苛,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出弄诲,到底是詐尸還是另有隱情愚战,我是刑警寧澤,帶...
    沈念sama閱讀 36,181評(píng)論 5 350
  • 正文 年R本政府宣布齐遵,位于F島的核電站寂玲,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏梗摇。R本人自食惡果不足惜拓哟,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,862評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望伶授。 院中可真熱鬧断序,春花似錦流纹、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,331評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至较雕,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間挚币,已是汗流浹背亮蒋。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,445評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留妆毕,地道東北人慎玖。 一個(gè)月前我還...
    沈念sama閱讀 48,897評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像笛粘,于是被迫代替她去往敵國(guó)和親趁怔。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,500評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • Java jar命令 常見(jiàn)用法 一薪前、jar命令作用: 進(jìn)行打包 -- 把多個(gè)文件打包成一個(gè)壓縮包 -- 這個(gè)壓縮包...
    堅(jiān)持未來(lái)閱讀 16,292評(píng)論 0 2
  • jar文件聽(tīng)說(shuō)過(guò)嗎润努,沒(méi)有?或者陌生示括!好铺浇,沒(méi)關(guān)系,這就是我們的第一站:打包發(fā)布垛膝。 為什么會(huì)有這個(gè)玩意呢鳍侣,首先,這是j...
    輕舞琉璃殤閱讀 709評(píng)論 0 0
  • 本文詳細(xì)講述了JAR命令的用法吼拥,對(duì)于大家學(xué)習(xí)和總結(jié)jar命令的使用有一定的幫助作用倚聚。具體如下: JAR包是Java...
    Santiagogogo閱讀 3,061評(píng)論 0 2
  • java8增強(qiáng)的包裝類 java中基本數(shù)據(jù)類型不能當(dāng)作對(duì)象類型變量使用的問(wèn)題, java提供了包裝類 (Wrapp...
    娟子閱讀 335評(píng)論 0 0
  • jar的作用 jar(Java Archive)能夠?qū)⒍鄠€(gè)源碼凿可、資源等文件打包到一個(gè)歸檔文件中惑折。 jar是jdk自...
    tracy_668閱讀 4,168評(píng)論 0 2