JAR包是java中所特有一種壓縮文檔,我們可以通過相關命令解壓jar包,下面由我為大家整理了linux下解壓jar包命令的相關知識,希望對大家有所幫助。
一、linux解壓jar包命令——jar命令詳解
jar命令選項:
jar命令格式:jar {c t x u f }[ v m e 0 M i ][-C 目錄]文件名...
其中{ctxu}這四個選項必須選其一。[v f m e 0 M i ]是可選選項,文件名也是必須的。
-c 創建一個jar包
-t 顯示jar中的內容列表
-x 解壓jar包
-u 添加文件到jar包中
-f 指定jar包的文件名
-v 生成詳細的報造,並輸出至標准設備
-m 指定manifest.mf文件.(manifest.mf文件中可以對jar包及其中的內容作一些一設置)
-0 產生jar包時不對其中的內容進行壓縮處理
-M 不產生所有文件的清單文件(Manifest.mf)。這個參數與忽略掉-m參數的設置
-i 為指定的jar文件創建索引文件
-C 表示轉到相應的目錄下執行jar命令,相當於cd到那個目錄,然後不帶-C執行jar命令
二、linux解壓jar包命令——jar使用範例
(1)創建jar包
$ jar cf hello.jar hello 利用test目錄生成hello.jar包,如hello.jar存在,則覆蓋
(2)創建並顯示打包過程
$ jar cvf hello.jar hello 利用hello目錄創建hello.jar包,並顯示創建過程
例:E:>jar cvf hello.jar hello
標明清單(manifest)
增加:hello/(讀入= 0) (寫出= 0)(存儲了 0%)
增加:hello/TestServlet2.class(讀入= 1497) (寫出= 818)(壓縮了 45%)
增加:hello/HelloServlet.class(讀入= 1344) (寫出= 736)(壓縮了 45%)
增加:hello/TestServlet1.class(讀入= 2037) (寫出= 1118)(壓縮了 45%)
(3)顯示jar包
$ jar tvf hello.jar 查看hello.jar包的內容
指定的jar包必須真實存在,否則會發生FileNoutFoundException。
(4)解壓jar包
$ jar xvf hello.jar 解壓hello.jar至當前目錄
(5)jar中添加文件
$ jar uf hello.jar HelloWorld.java 將HelloWorld.java添加到hello.jar包中
(6)創建不壓縮內容jar包
$ jar cvf0 hello.jar *.class 利用當前目錄中所有的.class文件生成一個不壓縮jar包
(7)創建帶manifest.mf文件的jar包
$ jar cvfm hello.jar manifest.mf hello
創建的jar包多了一個META-INF目錄,META-INF止錄下多了一個manifest.mf文件,至於manifest.mf的作用,後面會提到.
(8)忽略manifest.mf文件
$ jar cvfM hello.jar hello 生成的jar包中不包括META-INF目錄及manifest.mf文件
(9)加-C應用:
$ jar cvfm hello.jar mymanifest.mf -C hello/
表示在切換到hello目錄下然後再執行jar命令
(10)-i為jar文件生成索引列表
當一個jar包中的內容很好的時候,你可以給它生成一個索引文件,這樣看起來很省事。
$ jar i hello.jar
執行完這條命令後,它會在hello.jar包的META-INF文件夾下生成一個名為INDEX.LIST的索引文件,
它會生成一個列表,最上邊為jar包名。
(11)導出解壓列表
jar tvf hello.jar >hello.txt
如果你想查看解壓一個jar的詳細過程,而這個jar包又很大,屏幕信息會一閃而過,
這時你可以把列表輸出到一個文件中,慢慢欣賞!
(12)jar -cvf hello.jar hello/*
例如原目錄結構如下:
hello
|---com
|---org
你本想只把com目錄和org目錄打包,而這時jar命令會連同hello目洋也一塊打包進。
這點大家要注意。jar命令生成的壓縮文件會包含它後邊出的目錄。我們應該進入到hello目錄再執行jar命令。
注意:manifest.mf這個文件名,用戶可以任指定,但jar命令只認識Manifest.mf,它會對用戶指定的文件名進行相應在的轉換,這不需用戶擔心。
三、linux解壓jar包命令——JAR命令使用技巧
(1) jar創建壓ZIP文件
jar cvfM TestZIP.jar test 加M參數為了不生成META-INF相關內容
然後將TestZIP.jar改為TestZIP.zip就可以,是不是很簡單....
(2) 使用WinRAR解壓.jar文件
上邊我們已經說過了,說JAR文件是一種特殊的壓縮文件,所以它當然可以用我們常用的一些解壓縮工具來解了,
至於怎麼解,這就不用我說了吧。
(3) 用WinRAR生成.jar文件
我們已經說過JAR包與ZIP包主要區別就是JAR包中多一個META-INF的目錄,
META-INF目錄下有一個manifest.mf文件,我們只要建立好相關的目錄一壓縮就可以了。
目錄的結構如下:
TestJar
|--META-INF
|--manifest.mf
|--相關的類文件
注意:還應該在manifest.mf填寫內容,不會寫?照著一個已有的抄不就行了
⑵ 兩種可以修改windows下Jar包內容的方式
面對頻繁的組件掃描問題,針對已升級但仍存在問題的Jar包,本文將分享兩種處理方式:一是利用解壓工具,二是藉助Jar命令。首先,利用Windows的解壓工具,可以直接在JAR包內操作,刪除\BOOT-INF\lib目錄下的不必要組件。其次,若Java開發環境已配置,可以藉助Jar命令進行更精細的操作,如解壓、替換、編輯和重新壓縮文件。以下是Jar命令的常用步驟和示例:
1. 使用jar命令進行解壓和替換文件:通過指定選項,可以解析和修改JAR內容,然後重新打包。
2. Jar命令的基本用法:包括創建簡單的JAR文件,包含清單文件,列出內容,提取內容,更新文件,以及創建可執行的JAR等。如創建一個包含清單文件的JAR:jar cmf MANIFEST.MF myapp.jar myapp/。
通過這兩種方法,可以解決Jar包內容修改的問題,但關鍵還是在於處理好組件依賴,優先考慮升級適配,或者與相關人員協商提供灰名單解決方案。掌握Jar命令的使用,對於Java開發者來說,無疑是一個實用的工具。