[Android Pro] Java進階學習:jar打包詳解

來源:互聯網
上載者:User

標籤:

 

jar檔案聽說過嗎,沒有?或者陌生!好,沒關係,這就是我們的第一站:打包發布。  

   為什麼會有這個玩意呢,首先,這是jar的全稱:JavaTM Archive (JAR) file,是的,就是java封存檔案。這有點類似zip檔案,想一想它是幹什麼的用的呢,壓縮!?沒錯就是要壓縮,將我們原先零散的東西放到一下,重新 組織,所有這些目的只有一個:方便!好了,不用管他是怎麼壓縮的,我們的重點是哪些是我們要壓縮的(輸入),還有壓縮成了什麼(輸出),進而將它發布(部 署)。   

  那我們的輸入(要壓縮的東西)主要是class檔案,還有輔助的資源(這其中可能有圖片,jsp檔案,html檔案等等)。 Jar技術在jdk1.1版本中就已存在,在1.2中又有了增強。接下來說說jar的好處吧,這是官方的描述:安全,快速下載,壓縮,獵取包,版本化包, 可攜。  

  說了這麼多,我們現在開始實施。   

  先開啟命令提示字元(win2000或在運行框裡執行cmd命令,win98為DOS提示符),輸入jar Chelp,然後斷行符號(如果你盤上已經有了jdk1.1或以上版本),看到什麼:   

  用法:jar {ctxu}[vfm0Mi] [jar-檔案] [manifest-檔案] [-C 目錄] 檔案名稱 ...   

  選項:   

  -c 建立新的存檔

  -t 列出存檔內容的列表

  -x 展開存檔中的命名的(或所有的〕檔案

  -u 更新已存在的存檔

  -v 產生詳細輸出到標準輸出上

  -f 指定封存檔案名

  -m 包含來自標明檔案的標明資訊

  -0 只儲存方式;未用zip壓縮格式

  -M 不產生所有項的清單(manifest〕檔案

  -i 為指定的jar檔案產生索引資訊

  -C 改變到指定的目錄,並且包含下列檔案:  

  如果一個檔案名稱是一個目錄,它將被遞迴處理。   

  清單(manifest〕檔案名稱和封存檔案名都需要被指定,按‘m‘ 和 ‘f‘標誌指定的相同順序。   

  樣本1:將兩個class檔案存檔到一個名為 ‘classes.jar‘ 的封存檔案中:

jar cvf classes.jar Foo.class Bar.class  

     樣本2:用一個存在的清單(manifest)檔案 ‘mymanifest‘ 將 foo/ 目錄下的所有檔案存檔到一個名為 ‘classes.jar‘ 的封存檔案中:

  

jar cvfm classes.jar mymanifest -C foo/A.txt -C foo/B.txt 
jar cvf ${baseDir}/plugin.jar  -C ${baseDir} com  -C ${baseDir} assets

 jar基本操作:   

  1. 建立jar檔案  

    jar cf jar-file input-file(s)
   c---want to Create a JAR file.
   f---want the output to go to a file rather than to stdout.
   eg: 1)jar cf myjar.jar query_maintain_insert.htm
   2)jar cvf myjar.jar query_maintain_insert.htm
   v---Produces verbose(詳細的) output.
    3)jar cvf myjar.jar query_maintain_insert.htm mydirectory
   4)jar cv0f myjar.jar query_maintain_insert.htm mydirectory
   0---don‘t want the JAR file to be compressed.
   5)jar cmf MANIFEST.MF myjar.jar yahh.txt
   m---Used to include manifest information from an existing manifest file.
   6)jar cMf MANIFEST.MF myjar.jar yahh.txt
   M---the default manifest file should not be produced.
   7)jar cvf myjar.jar *
   *---create all contents in current directory. 

  2. 察看jar檔案   

    jar tf jar-file
   t---want to view the Table of contents of the JAR file.
   eg: 1)jar vft yahh.jar
   v---Produces verbose(詳細的) output.  

  3. 提取jar檔案  

    jar xf jar-file [archived-file(s)]
   x---want to extract files from the JAR archive.
   eg: 1)jar xf yahh.jar yahh.txt(僅提取檔案yahh.txt)

  2)jar xf yahh.jar alex/yahhalex.txt(僅提取目錄alex下的檔案yahhalex.txt)  

  3)jar xf yahh.jar(提取該jar包中的所有檔案或目錄)  

  4. 修改Manifest檔案  

    jar cmf manifest-addition jar-file input-file(s)
   m---Used to include manifest information from an existing manifest file.  

  5. 更新jar檔案  

    jar uf jar-file input-file(s)
   u---want to update an existing JAR file.

[Android Pro] Java進階學習: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.