1. 程式人生 > >jar打包與常見異常的解決方法

jar打包與常見異常的解決方法

一、問題與解決方法敘述

存在以上兩個檔案,使用命令打包jar檔案出現如下異常


在網上找了幾個部落格都說是MAINFEST.MF檔案格式有無,檢查了好幾遍都沒發現問題,後來靈機一定,覺得配置檔案應該放在class檔案的前面,一試果然好使


二、打包、執行jar檔案的命令

打包:
jar -cvf test.jar Demo.class
jar -cvfm test.jar MANIFEST.MF Demo.class //注意MANIFEST.MF要放在最前面
jar -cvfm test.jar MANIFEST.MF Demo.class com  //com是資料夾
執行:
java -jar test.jar

三、打包資料夾

首先在與要打包的資料夾的同級目錄新建一個空的配置檔案MANIFEST.MF

然後使用如下命令打包

jar -cvfm com.jar MANIFEST.MF com
對於web專案,可以將class檔案所在的根包打包為jar檔案(檔名任意),然後將jar檔案放到專案的WEB-INF\lib下,不影響專案的執行

四、MANIFEST.MF檔案配置注意事項

基本格式

Manifest-Version: 1.0
Class-Path: 
Created-By: 1.6.0_06 (Sun Microsystems Inc.)
Main-Class: com.demo.Demo
注意:

微笑每個標籤冒號後都跟上一個空格
吐舌頭

最後一行需要有一個回車鍵,否則後面那一行是不能打包進去的
大笑總是以Manifest-Version屬性開頭
偷笑每行最長72個字元,如果超過的話,採用續行
安靜確認每行都以回車鍵結束,否則改行將會被忽略
鄙視如果Class-Pass中存在路徑,使用“/”分隔目錄,與平臺無關
害羞使用空行分隔屬性和package屬性
生氣使用"/"而不是"."來分隔package和class。比如com/example/myapp/
再見class要發.class結尾,package要以/結尾