很久很久以前

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            34 隨筆 :: 4 文章 :: 17 評論 :: 0 Trackbacks
          今天也遇到了這樣的問題,從網上搜的
          http://www.trydofor.com/study/study_java_jar-manifest.htm

          JAR 的 MANIFEST

        1. 類別:java
        2. 作者:臭豆腐[trydofor]
        3. 來源:www.trydofor.com
        4. 日期:2005-03-12
        5. 授權:署名-非商業-保持一致 1.0 協議
        6. 聲明:拷貝、分發、呈現和表演本作品,請保留以上全部信息。
        7. 
          內容摘要: 
          
          一個比較蹊蹺的問題,Invalid or corrupt jarfile xxxxxx.jar,后來好了。
          
          問題描述: 
          
          Invalid or corrupt jarfile xxxxxx.jar
          當把window下打好的jar放到linux上 java -jar xxxxxx.jar時,報以上錯誤。
          j2sdk版本:window -> 1.4.1_02    linux -> 1.4.2_05
          
          解決方案: 
          
          改名并用其重新打jar
          # mv META-INF/MANIFEST.MF META-INF/manifest
          # jar cfvm xxxxxx.jar META-INF/manifest * 
          
          問題分析: 
          
          無論在任何系統中,使用jar cfv xxxxxx.jar *.class 創建的jar文件中
          MANIFEST都是META-INF/MANIFEST.MF。但是,當java -jar xxxxxx.jar時,
          就會出現Invalid or corrupt jarfile xxxxxx.jar的錯誤信息。
          
          可能原因應該是,
          java 對jar文件的格式要求有變動,而jar命令創建時并沒有反映出來。
          
          奇怪的事情又發生了:)
          今天有做了一般昨天的步驟,居然好用。
          這樣對jar格式變動的懷疑應該再仔細考慮一下:(
          
          google了一下,發現有說 MANIFEST是小寫的,呵呵,問題多多阿。
          
          目前可以確認一點,在java的官方網站上還沒有提到jar格式變動的問題
          所以問題可能出在linux運行環境上,要進一步調查...
          ----------------------------------------------------------------------
          
          值得注意的幾點:
          1. 在linux 系統中有個 /usr/bin/jar是gcc的,可能會出問題。
          2. jar cfvm時,看清f和m的順序,后面的x.jar和manifest要與之對應。
          
          附加資源: 
          
          #cat META-INF/MANIFEST.MF
          
          Manifest-Version: 1.0
          Ant-Version: Apache Ant 1.6.2
          Created-By: 1.4.2-b28 (Sun Microsystems Inc.)
          Build-Version: 0.0.6
          Build-Date: 2005/01/28 13:37:08
          Main-Class: TestJar
          Class-Path: /usr/local/j2sdk/lib/tools.jar
                      /usr/local/j2sdk/lib/dt.jar
                      
          參考文獻: 
          
          posted on 2006-02-18 17:31 Long Long Ago 閱讀(7685) 評論(0)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 扶余县| 揭西县| 项城市| 陵川县| 通道| 东至县| 高尔夫| 宁都县| 仁怀市| 金坛市| 固始县| 自治县| 唐海县| 延吉市| 肇州县| 公主岭市| 田林县| 自治县| 儋州市| 嘉祥县| 平原县| 东宁县| 西青区| 织金县| 永丰县| 娱乐| 那坡县| 萝北县| 成都市| 额尔古纳市| 西林县| 额济纳旗| 蓬安县| 井陉县| 肥城市| 金沙县| 互助| 大名县| 保德县| 慈溪市| 乐平市|