日本国产亚洲-日本国产一区-日本国产一区二区三区-日本韩国欧美一区-日本韩国欧美在线-日本韩国欧美在线观看

當(dāng)前位置:雨林木風(fēng)下載站 > 技術(shù)開(kāi)發(fā)教程 > 詳細(xì)頁(yè)面

Jar 命令詳細(xì)說(shuō)明

Jar 命令詳細(xì)說(shuō)明

更新時(shí)間:2022-05-14 文章作者:未知 信息來(lái)源:網(wǎng)絡(luò) 閱讀次數(shù):

jar 命令詳解

jar 是隨 JDK 安裝的,在 JDK 安裝目錄下的 bin 目錄中,Windows 下文件名為 jar.exe,Linux 下文件名為 jar。它的運(yùn)行需要用到 JDK 安裝目錄下 lib 目錄中的 tools.jar 文件。不過(guò)我們除了安裝 JDK 什么也不需要做,因?yàn)?SUN 已經(jīng)幫我們做好了。我們甚至不需要將 tools.jar 放到 CLASSPATH 中。

使用不帶任何的 jar 命令我們可以看到 jar 命令的用法如下:

jar {ctxu}[vfm0M] [jar-文件] [manifest-文件] [-C 目錄](méi) 文件名 ...

其中 {ctxu} 是 jar 命令的子命令,每次 jar 命令只能包含 ctxu 中的一個(gè),它們分別表示:

-c 創(chuàng)建新的 JAR 文件包

-t 列出 JAR 文件包的內(nèi)容列表

-x 展開(kāi) JAR 文件包的指定文件或者所有文件

-u 更新已存在的 JAR 文件包 (添加文件到 JAR 文件包中)

[vfm0M] 中的選項(xiàng)可以任選,也可以不選,它們是 jar 命令的選項(xiàng)參數(shù)

-v 生成詳細(xì)報(bào)告并打印到標(biāo)準(zhǔn)輸出

-f 指定 JAR 文件名,通常這個(gè)參數(shù)是必須的

-m 指定需要包含的 MANIFEST 清單文件

-0 只存儲(chǔ),不壓縮,這樣產(chǎn)生的 JAR 文件包會(huì)比不用該參數(shù)產(chǎn)生的體積大,但速度更快

-M 不產(chǎn)生所有項(xiàng)的清單(MANIFEST〕文件,此參數(shù)會(huì)忽略 -m 參數(shù)

[jar-文件] 即需要生成、查看、更新或者解開(kāi)的 JAR 文件包,它是 -f 參數(shù)的附屬參數(shù)

[manifest-文件] 即 MANIFEST 清單文件,它是 -m 參數(shù)的附屬參數(shù)

[-C 目錄](méi) 表示轉(zhuǎn)到指定目錄下去執(zhí)行這個(gè) jar 命令的操作。它相當(dāng)于先使用 cd 命令轉(zhuǎn)該目錄下再執(zhí)行不帶 -C 參數(shù)的 jar 命令,它只能在創(chuàng)建和更新 JAR 文件包的時(shí)候可用。  

文件名 ... 指定一個(gè)文件/目錄列表,這些文件/目錄就是要添加到 JAR 文件包中的文件/目錄。如果指定了目錄,那么 jar 命令打包的時(shí)候會(huì)自動(dòng)把該目錄中的所有文件和子目錄打入包中。

下面舉一些例子來(lái)說(shuō)明 jar 命令的用法:

1) jar cf test.jar test

該命令沒(méi)有執(zhí)行過(guò)程的顯示,執(zhí)行結(jié)果是在當(dāng)前目錄生成了 test.jar 文件。如果當(dāng)前目錄已經(jīng)存在 test.jar,那么該文件將被覆蓋。

2) jar cvf test.jar test

該命令與上例中的結(jié)果相同,但是由于 v 參數(shù)的作用,顯示出了打包過(guò)程,如下:

標(biāo)明清單(manifest)

增加:test/(讀入= 0) (寫(xiě)出= 0)(存儲(chǔ)了 0%)

增加:test/Test.class(讀入= 7) (寫(xiě)出= 6)(壓縮了 14%)

3) jar cvfM test.jar test

該命令與 2) 結(jié)果類似,但在生成的 test.jar 中沒(méi)有包含 META-INF/MANIFEST 文件,打包過(guò)程的信息也略有差別:

增加:test/(讀入= 0) (寫(xiě)出= 0)(存儲(chǔ)了 0%)

增加:test/Test.class(讀入= 7) (寫(xiě)出= 6)(壓縮了 14%)

4) jar cvfm test.jar manifest.mf test

運(yùn)行結(jié)果與 2) 相似,顯示信息也相同,只是生成 JAR 包中的 META-INF/MANIFEST 內(nèi)容不同,是包含了 manifest.mf 的內(nèi)容

5) jar tf test.jar

在 test.jar 已經(jīng)存在的情況下,可以查看 test.jar 中的內(nèi)容,如對(duì)于 2) 和 3) 生成的 test.jar 分別應(yīng)該此命令,結(jié)果如下;

對(duì)于 2)

META-INF/

META-INF/MANIFEST.MF

test/

test/Test.class

對(duì)于 3)

test/

test/Test.class

6) jar tvf test.jar

除顯示 5) 中顯示的內(nèi)容外,還包括包內(nèi)文件的詳細(xì)信息,如:

0 Wed Jun 19 15:39:06 GMT 2002 META-INF/

86 Wed Jun 19 15:39:06 GMT 2002 META-INF/MANIFEST.MF

0 Wed Jun 19 15:33:04 GMT 2002 test/

7 Wed Jun 19 15:33:04 GMT 2002 test/Test.class

7) jar xf test.jar

解開(kāi) test.jar 到當(dāng)前目錄,不顯示任何信息,對(duì)于 2) 生成的 test.jar,解開(kāi)后的目錄結(jié)構(gòu)如下:

  ==

  |-- META-INF

  |  `-- MANIFEST

  `-- test

    `--Test.class

8) jar xvf test.jar

運(yùn)行結(jié)果與 7) 相同,對(duì)于解壓過(guò)程有詳細(xì)信息顯示,如:

創(chuàng)建:META-INF/

展開(kāi):META-INF/MANIFEST.MF

創(chuàng)建:test/

展開(kāi):test/Test.class

9) jar uf test.jar manifest.mf

在 test.jar 中添加了文件 manifest.mf,此使用 jar tf 來(lái)查看 test.jar 可以發(fā)現(xiàn) test.jar 中比原來(lái)多了一個(gè) manifest。這里順便提一下,如果使用 -m 參數(shù)并指定 manifest.mf 文件,那么 manifest.mf 是作為清單文件 MANIFEST 來(lái)使用的,它的內(nèi)容會(huì)被添加到 MANIFEST 中;但是,如果作為一般文件添加到 JAR 文件包中,它跟一般文件無(wú)異。

10) jar uvf test.jar manifest.mf

與 9) 結(jié)果相同,同時(shí)有詳細(xì)信息顯示,如:

增加:manifest.mf(讀入= 17) (寫(xiě)出= 19)(壓縮了 -11%)

4. 關(guān)于 JAR 文件包的一些技巧

1) 使用 unzip 來(lái)解壓 JAR 文件

在介紹 JAR 文件的時(shí)候就已經(jīng)說(shuō)過(guò)了,JAR 文件實(shí)際上就是 ZIP 文件,所以可以使用常見(jiàn)的一些解壓 ZIP 文件的工具來(lái)解壓 JAR 文件,如 Windows 下的 WinZip、WinRAR 等和 Linux 下的 unzip 等。使用 WinZip 和 WinRAR 等來(lái)解壓是因?yàn)樗鼈兘鈮罕容^直觀,方便。而使用 unzip,則是因?yàn)樗鈮簳r(shí)可以使用 -d 參數(shù)指定目標(biāo)目錄。

在解壓一個(gè) JAR 文件的時(shí)候是不能使用 jar 的 -C 參數(shù)來(lái)指定解壓的目標(biāo)的,因?yàn)?-C 參數(shù)只在創(chuàng)建或者更新包的時(shí)候可用。那么需要將文件解壓到某個(gè)指定目錄下的時(shí)候就需要先將這具 JAR 文件拷貝到目標(biāo)目錄下,再進(jìn)行解壓,比較麻煩。如果使用 unzip,就不需要這么麻煩了,只需要指定一個(gè) -d 參數(shù)即可。如:

unzip test.jar -d dest/

2) 使用 WinZip 或者 WinRAR 等工具創(chuàng)建 JAR 文件

上面提到 JAR 文件就是包含了 META-INF/MANIFEST 的 ZIP 文件,所以,只需要使用 WinZip、WinRAR 等工具創(chuàng)建所需要 ZIP 壓縮包,再往這個(gè) ZIP 壓縮包中添加一個(gè)包含 MANIFEST 文件的 META-INF 目錄即可。對(duì)于使用 jar 命令的 -m 參數(shù)指定清單文件的情況,只需要將這個(gè) MANIFEST 按需要修改即可。

3) 使用 jar 命令創(chuàng)建 ZIP 文件

有些 Linux 下提供了 unzip 命令,但沒(méi)有 zip 命令,所以需要可以對(duì) ZIP 文件進(jìn)行解壓,即不能創(chuàng)建 ZIP 文件。如要?jiǎng)?chuàng)建一個(gè) ZIP 文件,使用帶 -M 參數(shù)的 jar 命令即可,因?yàn)?-M 參數(shù)表示制作 JAR 包的時(shí)候不添加 MANIFEST 清單,那么只需要在指定目標(biāo) JAR 文件的地方將 .jar 擴(kuò)展名改為 .zip 擴(kuò)展名,創(chuàng)建的就是一個(gè)不折不扣的 ZIP 文件了,如將上一節(jié)的第 3) 個(gè)例子略作改動(dòng):

jar cvfM test.zip test


溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!

本類教程下載

系統(tǒng)下載排行

主站蜘蛛池模板: 日本久操 | 欧美激情一区二区三区四区 | 大乳女做爰高清 | 天天操夜夜 | 免费观看黄视频 | 国产精品自在自线亚洲 | 久久精品免费全国观看国产 | 成年人在线观看视频免费 | 一本色道久久99一综合 | bt天堂国产亚洲欧美在线 | 国产成人一区二区三区影院免费 | 久久伊人最新 | 天天撸天天操 | 日本jjzzz| 亚洲一区亚洲二区亚洲三区 | 一级毛片美国aaj毛片 | 欧美日本一道免费一区三区 | 福利社看片| 日韩一级视频在线观看播放 | 色噜噜狠狠先锋影音久久 | 国产精品ⅴ视频免费观看 | 91华人在线 | 国产视频在线播放 | 91在线网站 | 日本五级黄色片 | 特黄特色一级特色大片中文 | 第一色影院| 国产精品福利午夜h视频 | 在线看国产 | 欧美激情综合网 | 黑丝91| 午夜国产高清精品一区免费 | 欧美婷婷六月丁香综合色 | 国产午夜精品视频 | 久久午夜国产片 | 国产精品亚洲片在线牛牛影视 | 久久这里精品青草免费 | 国产精品夜色一区二区三区 | 舔穴在线观看 | 成人国产激情福利久久精品 | 91人人视频国产香蕉 |