这本来是个很古老的问题,用eclipse打jar包的步骤无非就是跟着GUI提示一步一步来就行了:
选中项目=〉Export=〉选择java下jarfile=〉[next。。。]=〉指定main类
一般情况下这样就可以了,但不用自己编辑的MF文件,eclipse产生的MF文件里只包含main类的信息
这在有的情况下当然是不够的,比如我们需要指定这个包运行的classpath等,有这样的需求的话,
就得自己编辑MF文件了比如:
Manifest-Version: 1.0
Main-Class: test.Main
Class-Path: ../lib/ant.jar ../lib/activation.jar ../lib/ojdbc14.jar ../lib/commons-logging.jar
同时注意要用自己编辑的内容,在打包GUI导向中选择用workspace下的MF文件,
这样就反映到jar包里了。
这里我想补充说明一点的是,Class-Path路径里还可以添加配置文件路径,
比如 添加 ./inifolder 这样的话把配置文件统一放到这个文件夹里面,维护比较方便。
但这里我发现个奇怪的现象是,如果你把
Main-Class: test.Main
放在
Class-Path: ../lib/ant.jar ../lib/activation.jar ../lib/ojdbc14.jar ../lib/commons-logging.jar
之后的话,照上面所说生成的jar包里的MF文件内容只包括Class-Path内容,Main-Class不见了。
看来eclipse并不是直接拷贝指定的MF文件,而且有重写MF的规则。
这个问题让我闹腾了好几个小时,希望能给正折腾着这个问题的有所参考。