【轉】學習jar命令 建立和解壓jar檔案包

來源:互聯網
上載者:User

標籤:man   bin   檔案的   應用   標準輸出   r檔案   處理   int   順序   

     java編程中每天都用不少jar檔案,項目開發中不停地導包,在忙完了一天的工作,放下那些複雜的業務實現,不僅想問這些jar包怎麼產生的,jar包有哪些獨特的地方等等。

     原來這些經常見到的jar包是jar命令產生的,java語言為我們在安裝jdk的時候,就隨jdk為我們在bin目錄中安裝好了,在windows系統中是jar.exe程式,Linux系統中為jar檔案。

      jar命令有產生,查看,更新或解開jar包的作用。jar包與其他的壓縮包很相似,不過它包含了META-INF/MANIFEST.MF檔案,它是jar包產生的時候,自動建立的。

 

jar命令的參數詳解:

C:\>jar cf lm.jar
‘c‘ 標誌要求指定清單或輸入檔案!
用法: jar {ctxui}[vfm0Me] [jar-file] [manifest-file] [entry-point] [-C dir] files ...
選項包括:
    -c  建立新的歸檔檔案
    -t  列出歸檔目錄
    -x  解壓縮已歸檔的指定(或所有)檔案
    -u  更新現有的歸檔檔案
    -v  在標準輸出中產生詳細輸出
    -f  指定歸檔檔案名稱
    -m  包含指定資訊清單檔中的清單資訊
    -e  為捆綁到可執行 jar 檔案的獨立應用程式
        指定應用程式進入點
    -0  僅儲存;不使用任何 ZIP 壓縮
    -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/ .

 

執行個體1.
C:\>jar cf lm.jar Lm.class Lm.java

結果:在c盤下建立了Executable Jar File類型的lm.jar包。

 

執行個體2.添加v參數顯示打包詳細過程,

C:\jar>jar cvf lm.jar Lm.class
標明清單(manifest)
增加:Lm.class(讀入= 410) (寫出= 283)(壓縮了 30%)

 

其中c參數表示建立jar包,f參數是指定的jar包檔案名稱。在使用jar命令的時候,要指定必須的參數,告訴他你要做什麼操作。這些參數包括

 

 -c  建立新的歸檔檔案
 -t  列出歸檔目錄
 -x  解壓縮已歸檔的指定(或所有)檔案
 -u  更新現有的歸檔檔案

執行個體3.運行剛產生的jar包:

 C:\>java -jar lm.jar
Failed to load Main-Class manifest attribute from
lm.jar

根據英文錯誤提示,好像讀取lm.jar包的manifest屬性失敗。

 

執行個體4.建立不包含META-INF/MANIFEST.MF檔案的jar包

C:\jar>jar cvfM lm1.jar Lm.class
增加:Lm.class(讀入= 410) (寫出= 283)(壓縮了 30%) 

 

執行個體5.顯示jar包中的檔案

C:\jar>jar tf lm.jar
META-INF/
META-INF/MANIFEST.MF
Lm.class

 

執行個體6.由於建立jar包的時候用了M參數所以就沒有META-INF目錄和META-INF/MANIFEST.MF檔案

 

C:\jar>jar tf lm1.jar

Lm.class

 

執行個體7.顯示jar包的檔案和檔案詳細資料


C:\jar>jar tvf lm.jar
     0 Mon Sep 26 23:09:34 CST 2011 META-INF/
    75 Mon Sep 26 23:09:34 CST 2011 META-INF/MANIFEST.MF
   410 Mon Sep 26 22:09:00 CST 2011 Lm.class

 

這些詳細資料包括讀入的位元組,jar包中讀入的時間,目錄或檔案名稱 

 

執行個體8.解壓jar包到目前的目錄中


C:\jar>jar xf lm.jar

不顯示任何資訊,但是解壓成功 

 

windows下,運行可執行jar包

命令視窗執行:java -jar jar包  

備忘:有時候,windows系統下,雙擊jar包的時候,不會運行jar包,反而會解壓jar包。所以讓jar包運行起來,則需要命令執行。

 

【轉】學習jar命令 建立和解壓jar檔案包

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.