Natural

           

          jar命令

          用法: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/ .


          PS:使用該命令時可能會遇到的問題

          如上面的示例2. 在windows環境下,對整個文件夾打包時可能會出現找不到main class。

          測試環境如下:
          操作系統:windows xp
          jdk版本:1.6

          假設你的待打包的類的根目錄是“d:\workspace\com”,main類的路徑是“d:\workspace\com\java\test.class”。
          那么當你的命令行在“d:\workspace>”下如示例2般對整個com文件夾進行打包,運行“jar cvfm test.jar mymanifest -C com/ .”命令時,生成的test.jar運行時會出現“找不到main class”的錯誤。

          用壓縮軟件打開該jar包,會發現在點開“com”文件夾時,除了“..”(返回到上層目錄)外,還會出現“./java”和“.”這兩個文件夾。正常情況下應該是“..”和“java”才對。這樣破壞的了原來的路徑。

          解決方案:
          1、在“d:\workspace>”目錄下運行“jar cvfm test.jar mymanifest com”命令;
          2、在“d:\>”目錄下運行“jar cvfm test.jar mymanifest -C workspace\ .”或“jar cvfm test.jar mymanifest -C workspace .”命令(前提是workspace下只有com這么一個文件夾,因為該命令不會把workspace給包含進去,而是對workspace中的內容進行打包;或者把com文件夾放到另一個新建的文件夾中)。







          posted on 2010-08-09 15:27 此號已被刪 閱讀(2244) 評論(0)  編輯  收藏 所屬分類: JAVA

          導航

          統計

          常用鏈接

          留言簿(8)

          隨筆分類(83)

          隨筆檔案(78)

          文章檔案(2)

          相冊

          收藏夾(7)

          最新隨筆

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 嘉荫县| 汕头市| 宝应县| 怀化市| 桐乡市| 寻乌县| 临澧县| 疏附县| 黔东| 丁青县| 临汾市| 保亭| 葵青区| 汉中市| 海阳市| 综艺| 平昌县| 西乌珠穆沁旗| 抚州市| 独山县| 齐齐哈尔市| 吕梁市| 莱州市| 宁远县| 尖扎县| 栾川县| 山阳县| 芷江| 德惠市| 伊金霍洛旗| 襄汾县| 嫩江县| 华安县| 宜君县| 金阳县| 琼海市| 明光市| 东港市| 富平县| 临武县| 佳木斯市|