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