1. 程式人生 > >JAR包中MANIFEST.MF注意事項

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