很久很久以前

            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 閱讀(7688) 評論(0)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 兴宁市| 南康市| 调兵山市| 资溪县| 安仁县| 洛扎县| 诸城市| 绥德县| 武邑县| 明水县| 滨海县| 宣汉县| 昌平区| 湘西| 榆林市| 于田县| 榆中县| 毕节市| 西平县| 宣恩县| 东山县| 土默特左旗| 福建省| 体育| 西安市| 东平县| 安泽县| 丹巴县| 阿拉善右旗| 鹤庆县| 电白县| 青海省| 深圳市| 通道| 扬州市| 内乡县| 石阡县| 府谷县| 民乐县| 鸡东县| 和龙市|