jar包的MANIFEST.MF文件


打包可執行jar包時,MANIFEST.MF總是個讓人頭疼的東西,經常出現這種那種問題。 
一個例子: 
================================================================================ 
Manifest-Version: 1.0 
Main-Class: test.Main 
Class-Path: ./ ./lib/commons-collections-3.2.jar ./lib/commons-dbcp-1.2.2.jar 
  ./lib/commons-lang-2.3.jar ./lib/commons-logging-1.1.jar 

================================================================================ 
各部分解釋: 
Manifest-Version MF文件版本號 
Main-Class 包含main方法的類 
Class-Path 執行這個jar包時的ClassPath 

以下是需要注意的各個要點: 
1. Manifest-Version、Main-Class和Class-Path后面跟着一個英文的冒號,冒號后面必須跟着一個 空格,然后才是版本號、類和ClassPath。 
2. Class-Path中的各項應使用 空格分隔,不是逗號或分號。 
3. Class-Path中如果有很多項,寫成一行打包的時候會報錯line too long,這時需要把Class-Path分多行寫。注意:從第二行開始,必須以 兩個空格開頭,三個以上我沒試過,不過不用空格開頭和一個空格開頭都是不行的,我已經試過了。 
4. Class-Path寫完之后最后一定要有一個 空行。 
5. 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目錄下。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM