<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    注銷

    注銷

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      112 隨筆 :: 7 文章 :: 18 評論 :: 0 Trackbacks
    jar  命令詳解  
     
    jar  是隨  JDK  安裝的,在  JDK  安裝目錄下的  bin  目錄中,Windows  下文件名為  jar.exe,Linux  下文件名為  jar。它的運行需要用到  JDK  安裝目錄下  lib  目錄中的  tools.jar  文件。不過我們除了安裝  JDK  什么也不需要做,因為  SUN  已經幫我們做好了。我們甚至不需要將  tools.jar  放到  CLASSPATH  中。  
     
    使用不帶任何的  jar  命令我們可以看到  jar  命令的用法如下:  
     
    jar  {ctxu}[vfm0M]  [jar-文件]  [manifest-文件]  [-C  目錄]  文件名  ...  
     
    其中  {ctxu}  是  jar  命令的子命令,每次  jar  命令只能包含  ctxu  中的一個,它們分別表示:  
     
    -c 創建新的  JAR  文件包  
     
    -t 列出  JAR  文件包的內容列表  
     
    -x 展開  JAR  文件包的指定文件或者所有文件  
     
    -u 更新已存在的  JAR  文件包  (添加文件到  JAR  文件包中)  
     
    [vfm0M]  中的選項可以任選,也可以不選,它們是  jar  命令的選項參數  
     
    -v 生成詳細報告并打印到標準輸出  
     
    -f 指定  JAR  文件名,通常這個參數是必須的  
     
    -m 指定需要包含的  MANIFEST  清單文件  
     
    -0 只存儲,不壓縮,這樣產生的  JAR  文件包會比不用該參數產生的體積大,但速度更快  
     
    -M 不產生所有項的清單(MANIFEST〕文件,此參數會忽略  -m  參數  
     
    [jar-文件]  即需要生成、查看、更新或者解開的  JAR  文件包,它是  -f  參數的附屬參數  
     
    [manifest-文件]  即  MANIFEST  清單文件,它是  -m  參數的附屬參數  
     
    [-C  目錄]  表示轉到指定目錄下去執行這個  jar  命令的操作。它相當于先使用  cd  命令轉該目錄下再執行不帶  -C  參數的  jar  命令,它只能在創建和更新  JAR  文件包的時候可用?! ? 
     
    文件名  ...  指定一個文件/目錄列表,這些文件/目錄就是要添加到  JAR  文件包中的文件/目錄。如果指定了目錄,那么  jar  命令打包的時候會自動把該目錄中的所有文件和子目錄打入包中。  
     
    下面舉一些例子來說明  jar  命令的用法:  
     
    1)  jar  cf  test.jar  test  
     
    該命令沒有執行過程的顯示,執行結果是在當前目錄生成了  test.jar  文件。如果當前目錄已經存在  test.jar,那么該文件將被覆蓋。  
     
    2)  jar  cvf  test.jar  test  
     
    該命令與上例中的結果相同,但是由于  v  參數的作用,顯示出了打包過程,如下:  
     
    標明清單(manifest)  
     
    增加:test/(讀入=  0)  (寫出=  0)(存儲了  0%)  
     
    增加:test/Test.class(讀入=  7)  (寫出=  6)(壓縮了  14%)  
     
    3)  jar  cvfM  test.jar  test  
     
    該命令與  2)  結果類似,但在生成的  test.jar  中沒有包含  META-INF/MANIFEST  文件,打包過程的信息也略有差別:  
     
    增加:test/(讀入=  0)  (寫出=  0)(存儲了  0%)  
     
    增加:test/Test.class(讀入=  7)  (寫出=  6)(壓縮了  14%)  
     
    4)  jar  cvfm  test.jar  manifest.mf  test  
     
    運行結果與  2)  相似,顯示信息也相同,只是生成  JAR  包中的  META-INF/MANIFEST  內容不同,是包含了  manifest.mf  的內容  
     
    5)  jar  tf  test.jar  
     
    在  test.jar  已經存在的情況下,可以查看  test.jar  中的內容,如對于  2)  和  3)  生成的  test.jar  分別應該此命令,結果如下;  
     
    對于  2)  
     
    META-INF/  
     
    META-INF/MANIFEST.MF  
     
    test/  
     
    test/Test.class  
     
    對于  3)  
     
    test/  
     
    test/Test.class  
     
    6)  jar  tvf  test.jar  
     
    除顯示  5)  中顯示的內容外,還包括包內文件的詳細信息,如:  
     
    0  Wed  Jun  19  15:39:06  GMT  2002  META-INF/  
     
    86  Wed  Jun  19  15:39:06  GMT  2002  META-INF/MANIFEST.MF  
     
    0  Wed  Jun  19  15:33:04  GMT  2002  test/  
     
    7  Wed  Jun  19  15:33:04  GMT  2002  test/Test.class  
     
    7)  jar  xf  test.jar  
     
    解開  test.jar  到當前目錄,不顯示任何信息,對于  2)  生成的  test.jar,解開后的目錄結構如下:  
     
      ==  
     
        ¦--  META-INF  
     
        ¦   `--  MANIFEST  
     
      `--  test  
     
        `--Test.class  
     
    8)  jar  xvf  test.jar  
     
    運行結果與  7)  相同,對于解壓過程有詳細信息顯示,如:  
     
    創建:META-INF/  
     
    展開:META-INF/MANIFEST.MF  
     
    創建:test/  
     
    展開:test/Test.class  
     
    9)  jar  uf  test.jar  manifest.mf  
     
    在  test.jar  中添加了文件  manifest.mf,此使用  jar  tf  來查看  test.jar  可以發現  test.jar  中比原來多了一個  manifest。這里順便提一下,如果使用  -m  參數并指定  manifest.mf  文件,那么  manifest.mf  是作為清單文件  MANIFEST  來使用的,它的內容會被添加到  MANIFEST  中;但是,如果作為一般文件添加到  JAR  文件包中,它跟一般文件無異。  
     
    10)  jar  uvf  test.jar  manifest.mf  
     
    與  9)  結果相同,同時有詳細信息顯示,如:  
     
    增加:manifest.mf(讀入=  17)  (寫出=  19)(壓縮了  -11%)  
     
    4.  關于  JAR  文件包的一些技巧  
     
    1)  使用  unzip  來解壓  JAR  文件  
     
    在介紹  JAR  文件的時候就已經說過了,JAR  文件實際上就是  ZIP  文件,所以可以使用常見的一些解壓  ZIP  文件的工具來解壓  JAR  文件,如  Windows  下的  WinZip、WinRAR  等和  Linux  下的  unzip  等。使用  WinZip  和  WinRAR  等來解壓是因為它們解壓比較直觀,方便。而使用  unzip,則是因為它解壓時可以使用  -d  參數指定目標目錄。  
     
    在解壓一個  JAR  文件的時候是不能使用  jar  的  -C  參數來指定解壓的目標的,因為  -C  參數只在創建或者更新包的時候可用。那么需要將文件解壓到某個指定目錄下的時候就需要先將這具  JAR  文件拷貝到目標目錄下,再進行解壓,比較麻煩。如果使用  unzip,就不需要這么麻煩了,只需要指定一個  -d  參數即可。如:  
     
    unzip  test.jar  -d  dest/  
     
    2)  使用  WinZip  或者  WinRAR  等工具創建  JAR  文件  
     
    上面提到  JAR  文件就是包含了  META-INF/MANIFEST  的  ZIP  文件,所以,只需要使用  WinZip、WinRAR  等工具創建所需要  ZIP  壓縮包,再往這個  ZIP  壓縮包中添加一個包含  MANIFEST  文件的  META-INF  目錄即可。對于使用  jar  命令的  -m  參數指定清單文件的情況,只需要將這個  MANIFEST  按需要修改即可。  
     
    3)  使用  jar  命令創建  ZIP  文件  
     
    有些  Linux  下提供了  unzip  命令,但沒有  zip  命令,所以需要可以對  ZIP  文件進行解壓,即不能創建  ZIP  文件。如要創建一個  ZIP  文件,使用帶  -M  參數的  jar  命令即可,因為  -M  參數表示制作  JAR  包的時候不添加  MANIFEST  清單,那么只需要在指定目標  JAR  文件的地方將  .jar  擴展名改為  .zip  擴展名,創建的就是一個不折不扣的  ZIP  文件了,如將上一節的第  3)  個例子略作改動:  
     
    ---------------------------------------------------------------  
     
    如果只想看一下有什么東東,用winrar也可以看。  
    用法:jar  {ctxu}[vfm0M]  [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/  .  
     
    ---------------------------------------------------------------  
     
    jar  cvf  flight.jar  aa\aa1  aa\aa2  
     
    文件名后面是你要壓縮的文件所在的目錄,可以跟多個  
    ---------------------------------------------------------------  
     
    jar  cvf  class.jar  GreetingServlet.class  22.class  33.class  
    創建jar包  
    如果你要查看tools.jar中的內容,用解壓縮軟件(比如rar)解開就可以看了
    posted on 2007-07-05 11:49 注銷..... 閱讀(344) 評論(0)  編輯  收藏 所屬分類: JAVA

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲丁香婷婷综合久久| 亚洲sm另类一区二区三区| 国产在线国偷精品免费看| 免费二级毛片免费完整视频| 亚洲熟女乱色一区二区三区| AA免费观看的1000部电影| 亚洲精品人成网在线播放影院| 成人免费AA片在线观看| 亚洲已满18点击进入在线观看| 毛片大全免费观看| 亚洲av无码兔费综合| 免费a级黄色毛片| xvideos永久免费入口| 国产亚洲一区二区手机在线观看| a毛片在线免费观看| 亚洲三级电影网址| 成人女人A级毛片免费软件| 亚洲熟妇av午夜无码不卡| 免费永久国产在线视频| 搡女人免费免费视频观看| 亚洲午夜精品久久久久久人妖| 24小时日本电影免费看| 亚洲人成网站色在线观看| 免费国产精品视频| 在线看片免费人成视频播| 亚洲免费闲人蜜桃| 亚洲Av无码乱码在线观看性色 | 中文字幕乱码亚洲无线三区| 免费看的黄色大片| 精品国产免费人成网站| 亚洲美女在线观看播放| 免费国产在线观看不卡| 亚欧免费无码aⅴ在线观看| 亚洲一区欧洲一区| 国产偷国产偷亚洲高清日韩| 午夜免费啪视频在线观看| 亚洲日本一线产区和二线| 亚洲综合一区二区国产精品| 女人18毛片特级一级免费视频| 亚洲黄片手机免费观看| 亚洲综合无码一区二区|