很久很久以前

            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)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 东莞市| 称多县| 绍兴市| 南宁市| 临沂市| 芷江| 鄱阳县| 钟山县| 长汀县| 乐平市| 旬邑县| 瓦房店市| 湛江市| 尉犁县| 博乐市| 陵川县| 茌平县| 内黄县| 福建省| 清河县| 昌平区| 辉南县| 崇左市| 旌德县| 德江县| 田阳县| 平南县| 荣昌县| 射阳县| 临洮县| 庆云县| 固原市| 韶山市| 土默特左旗| 林州市| 靖边县| 河曲县| 南宁市| 仁布县| 吴忠市| 翁牛特旗|