摘要:命令淺析文件的全稱是,意思是檔案文件,通常文件是一種壓縮文件,并且與常見的文件兼容,兩者的區(qū)別便是擁有清單文件,這個文件是生成文件時自動創(chuàng)建的。首先輸入命令,系統(tǒng)會自動提示命令的用法。
jar命令淺析
?JAR文件的全稱是Java Archive File,意思是java檔案文件,通常JAR文件是一種壓縮文件,并且與常見的Zip文件兼容,兩者的區(qū)別便是JAR擁有清單文件 (META-INF/MANIFEST.MF),這個文件是生成JAR文件時自動創(chuàng)建的。
?jar在安裝JDK時會自動安裝,在bin目錄里面,Windows里是jar.exe,Lunix里是jar。
?首先輸入jar命令,系統(tǒng)會自動提示jar命令的用法。(運行dos命令使用的是Cmder軟件,代碼前面的“λ”不用輸入)
λ jar 用法: jar {ctxui}[vfmn0PMe] [jar-file] [manifest-file] [entry-point] [-C dir] files ... 選項: -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 文件的獨立應(yīng)用程序 指定應(yīng)用程序入口點 -0 僅存儲; 不使用任何 ZIP 壓縮 -P 保留文件名中的前導(dǎo) "/" (絕對路徑) 和 ".." (父目錄) 組件 -M 不創(chuàng)建條目的清單文件 -i 為指定的 jar 文件生成索引信息 -C 更改為指定的目錄并包含以下文件 如果任何文件為目錄, 則對其進(jìn)行遞歸處理。 清單文件名, 檔案文件名和入口點名稱的指定順序 與 "m", "f" 和 "e" 標(biāo)記的指定順序相同。 示例 1: 將兩個類文件歸檔到一個名為 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命令實例講解 1.jar cf .............
創(chuàng)建jar文件
語法如下:
?創(chuàng)建****.jar,并將file1,file2 (jar命令可以指定多個文件) 添加到****.jar包中,如****.jar存在,則覆蓋。
jar cf ****.jar folderName?創(chuàng)建****.jar,并將folderName文件夾下所有文件添加到 ****.jar包中,如****.jar存在,則覆蓋。
2.jar cvf .............創(chuàng)建jar文件,并且顯示壓縮過程
會輸出類似下面的信息。
已添加清單 正在添加: lzj.iml(輸入 = 81) (輸出 = 75)(壓縮了 7%) ........
語法與第一個命令相似
3.jar cvfM .............創(chuàng)建jar文件,但不添加清單文件,并且顯示壓縮過程.
會輸出類似下面的信息。
正在添加: lzj.iml(輸入 = 81) (輸出 = 75)(壓縮了 7%) ........
語法與第一個命令相似
4.jar cvfm ...........創(chuàng)建jar文件,自定義清單文件內(nèi)容,并且顯示壓縮過程.
語法:
在原有清單文件基礎(chǔ)上增加****.mf文件的內(nèi)容(不論名稱是什么都可以,但是jar包只認(rèn)manifest.MF,所以系統(tǒng)會自動完成轉(zhuǎn)化)
清單文件可直接編輯,但有相應(yīng)的內(nèi)容格式要求,這里不做過多介紹。
查看jar包文件。
例如
λ jar tf lzj.jar META-INF/ META-INF/MANIFEST.MF lzj.iml
如果JAR包內(nèi)文件非常多可使用(命令行窗口顯示的行數(shù)有限)
jar tf lzj.jar > lzj.txt
此時將不再返回信息,文件夾下會生成一個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)會顯示詳細(xì)的解壓過程
例如
λ 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 ..............
語法
jar uf ****.jar file
將文件加入到j(luò)ar文件中,如果有同名文件則替。
加v同樣可以詳細(xì)看到過程
例如
λ jar uvf lzj.jar pom.xml 正在添加: pom.xml(輸入 = 502) (輸出 = 267)(壓縮了 46%)jar命令擴(kuò)展 jar i ****.jar
為指定的jar文件生成索引,生成在META-INF中名稱為INDEX.LIST。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/75515.html
摘要:安卓滲透框架架構(gòu)淺析架構(gòu)組成和自定義模塊標(biāo)簽空格分隔簡介是開發(fā)的一款針對系統(tǒng)的安全測試框架。感興趣的可以閱讀的相關(guān)源碼地址是一個安裝在測試安卓機(jī)上輕量級,并且只申請一個權(quán)限,是為了用來和進(jìn)行連接的。 安卓滲透框架-Drozer架構(gòu)淺析--架構(gòu)組成和自定義模塊 標(biāo)簽(空格分隔): Drozer Android Security 1. Drozer 簡介 Drozer是MWR Labs開...
摘要:簡介依賴包解析并沒有實現(xiàn)相應(yīng)的接口所以加了一層橋接層包里面的內(nèi)容來實現(xiàn)對的調(diào)用里面的代碼很簡單只有個類關(guān)鍵的兩個類是和對應(yīng)的方法源碼實現(xiàn)了的接口調(diào)用方法獲取實現(xiàn)了的接口并且實際代理了類所以對的所有方法調(diào)用最終調(diào)用的都是對應(yīng)的方法小 SLF4J&&Log4j 簡介 依賴jar包:slf4j-api-x.x.x.jar,log4j.jar,slf4j-log4j12.jar 解析 log4...
摘要:在里面,最大的改變使運行時的成為可能。缺省情況下,將會在方法中計算這些,通過在加載這兩個類進(jìn)入虛擬機(jī)時,使用反射來計算。通過重寫方法,更正獲取的方式,改成使用指定的方式進(jìn)行。 Grays Anatomy源碼淺析 標(biāo)簽(空格分隔):JAVA JVM 問題排查 在知乎上看到一個問題,被R大推薦了這個線上排查的工具,就下來用了用,感覺還不錯,知道是Java寫的后,就行看看源碼,相關(guān)知識比較...
閱讀 724·2021-11-22 13:52
閱讀 1535·2021-09-27 13:36
閱讀 2838·2021-09-24 09:47
閱讀 2197·2021-09-22 15:48
閱讀 3611·2021-09-22 15:39
閱讀 1477·2019-08-30 12:43
閱讀 2929·2019-08-29 18:39
閱讀 3199·2019-08-29 12:51