可执行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目录下。

我自己的一个
Manifest-Version: 1.0
Main-Class: view.MMIDesktop
SplashScreen-Image: EPM-300dpi_Large.jpg
Class-Path: .\lib\adfm.jar .\lib\adf-controller-security.jar
.\lib\adf-share-base.jar .\lib\adf-share-ca.jar
.\lib\adf-share-security.jar .\lib\adf-share-support.jar
.\lib\adflogginghandler.jar .\lib\adfsharembean.jar
.\lib\bc4jimdomains.jar .\lib\cache.jar
.\lib\dvt-jclient.jar .\lib\dvt-utils.jar
.\lib\forms-1.0.6.jar .\lib\identitystore.jar
.\lib\javax.activation_1.1.0.0_1-1.jar
.\lib\jmf.jar .\lib\ordhttp.jar
.\lib\ordim.jar .\lib\xml.jar
.\lib\xmlparserv2.jar .\lib\mdsrt.jar
.\lib\javax.servlet_1.0.0.0_2-5.jar
.\lib\javax.jsp_1.1.0.0_2-1.jar
.\lib\dms.jar .\lib\ojdl-log4j.jar
.\lib\ojdl2.jar .\lib\ojdl.jar
.\lib\xmlef.jar .\lib\share.jar
.\lib\jdev-rt.jar .\lib\dom4j-1.6.1.jar
.\lib\jxl-2.6.jar .\lib\jaxen-1.1-beta-6.jar
.\lib\ojdbc6.jar .\lib\groovy-all-1.6.3.jar
.\lib\gnujaxp.jar .\lib\jcommon-1.0.16.jar
.\lib\jfreechart-1.0.13.jar
.\lib\ws\axiom-api-1.2.8.jar
.\lib\ws\axiom-dom-1.2.8.jar
.\lib\ws\axiom-impl-1.2.8.jar
.\lib\ws\axis2-adb-1.5.1.jar
.\lib\ws\axis2-kernel-1.5.1.jar
.\lib\ws\axis2-transport-http-1.5.1.jar
.\lib\ws\axis2-transport-local-1.5.1.jar
.\lib\ws\commons-codec-1.3.jar
.\lib\ws\commons-httpclient-3.1.jar
.\lib\ws\commons-logging-1.1.1.jar
.\lib\ws\httpcore-4.0.jar
.\lib\ws\log4j-1.2.15.jar
.\lib\ws\mail-1.4.jar
.\lib\ws\neethi-2.0.4.jar
.\lib\ws\wsdl4j-1.6.2.jar
.\lib\ws\XmlSchema-1.4.3.jar
.\lib\report\commons-beanutils-1.8.0.jar
.\lib\report\commons-collections-2.1.1.jar
.\lib\report\commons-digester-1.7.jar
.\lib\report\iText-2.1.7.jar
.\lib\report\jasperreports-Emerson.jar
.\lib\report\poi-3.5-FINAL-20090928.jar
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值