JAR包中MANIFEST.MF注意事項
1. Manifest-Version 用來定義manifest檔案的版本,例如:Manifest-Version: 1.0 2. Created-By 宣告該檔案的生成者,一般該屬性是由jar命令列工具生成的,例如:Created-By: Apache Ant 1.5.1 3. Signature-Version 定義jar檔案的簽名版本 4. Main-Class 定義jar檔案的入口類,該類必須是一個可執行的類,一旦定義了該屬性即可通過 java -jar x.jar來執行該jar檔案。 5. Class-Path 應用程式或者類裝載器使用該值來構建內部的類搜尋路徑
注意事項:
1.檔案最後必須要有個換行,而且該行不能有空格
2.Manifest-Version、Main-Class和Class-Path後面跟著一個英文的冒號,冒號後面必須跟著一個空格,然後才是版本號、類和ClassPath
3.jar包內有些配置檔案想放在jar包外面,比如檔案config.properties:如果這個檔案是以路徑方式載入的,比如new file("./config/config.properties"),那麼將config.properties放在jar包相同目錄下的config目錄下即可,也就是說“./”路徑等價於jar包所在目錄;如果這個檔案是以ClassPath下的檔案這種方式載入的,比如在Spring中載入classpath:config.properties,則在MF檔案的配置檔案的ClassPath中新增“./”,然後將這個配置檔案與jar包放在同一個目錄即可,當然也可以在MF檔案的配置檔案的ClassPath中新增“./config/”,然後把配置檔案都放在jar包相同目錄下的config目錄下。
Class-Path的注意事項:
1.每行最多72個字元
2.多個jar包用空格隔開
3.如果需要換行,行頭要有一個空格,行尾也要有一個空格
Manifest-Version: 1.0 Class-Path: lib/bsf.jar lib/log4j.jar lib/dom4j-1.6.1.jar lib/jakarta-oro-2.0.8.jar lib/jaxen-1.1-beta-6.jar lib/javascr iptplugin.ZIP lib/js.jar lib/sopapi.jar lib/sopdes.jar lib/jakarta-regexp-1.5.jar lib/commons-net-1.4.1.jar lib/commons-pool2-2.4.2.jar
Manifest-Version: 1.0
Class-Path: lib/bsf.jar lib/log4j.jar lib/dom4j-1.6
.1.jar lib/jakarta-oro-2.0.8.jar lib/jaxen-1.1-beta-6.jar lib/javascr
iptplugin.ZIP lib/js.jar lib/sopapi.jar lib/sopdes.jar lib/jakarta-re
gexp-1.5.jar lib/commons-net-1.4.1.jar