jar打包與常見異常的解決方法
阿新 • • 發佈:2018-12-30
一、問題與解決方法敘述
存在以上兩個檔案,使用命令打包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要以/結尾