通过eclipse的Export 导出项,导出jar包时,有几点需要注意的事项。
假如我们导出的jar包名称为 demo.jar,右键解压demo.jar,META-INF 目录下面有 MANIFEST.MF文件,打开看到
Manifest-Version: 1.0
Main-Class: com.zhangqi.you.main.JdbcTest
1 Main-Class事项:
main-class,顾名思义,主函数类,即demo.jar 默认运行时,执行的主方法类。
在eclipse 导出jar的过程中,可以指定main-class属性,也可以不指定main-class,根据实际情况而定。
如果导出的jar包中就只包含了一个main方法,其他的class类都是为这个类服务的,参与计算的,或引用的,那么就可以在导出时,直接指定main-class。
如果导出的jar包中包含多个main方法,在运行时,需要根据情况而定执行哪一个主函数类,那么导出的过程中就不要指定main-class属性。在运行的时候,指定需要指定的main方法类即可。
例如 java -jar demo.jar com.test.Demo1 运行 Demo1 类
java -jar demo.jar com.test.Demo2 运行 Demo2 类
2 Class-Path事项:
class-path,顾名思义,classpath,引用类路径。
如果导出的jar包中引用了外部的jar包,那么直接运行java -jar demo.jar时,会报classnotfound异常的,这时候,需要为导出jar指定classpath
打开MANIFEST.MF文件,在下面添加上 Class-Path: mysql-connector-java-5.0.8-bin.jar 便为demo.jar添加了mysql-connector-java-5.0.8-bin.jar的引用
Manifest-Version: 1.0
Main-Class: com.zhangqi.you.main.JdbcTest
Class-Path: mysql-connector-java-5.0.8-bin.jar
同时将mysql-connector-java-5.0.8-bin.jar 驱动jar包放到跟demo.jar同目录下即可引用到。
如果有多个jar包引用的话,每个jar包间空格隔开即可。