Eclipse打包jar过程
Eclipse导出jar包有两种方式,一种是直接导出jar file,另一种是导出Runnable Jar file.
二者的区别(网络搜索):
1)直接导出jar file:仅仅是把.class文件打包了,其所依赖的其他jar包未进行打包,执行该打包后的文件需要加上第三方jar包。(此方法打包的jar,jmeter 使用的时候需要整个项目文件拷贝到制定路径方能有效)
比如java -cp .;ch04.jar;lib01.jar com.thnkjava.ch04,其中ch04.jar为打包的jar包,lib01.jar是依赖的第三方包,执行入口是com.thnkjava.ch04类中的main函数。也可以在导出时指明入口类。
2)导出Runnable jar file:可以导出class文件,也可以将其依赖的所有第三方包一起导出。生成runnable jar file时,有两个选项,Extract required libraries into generated JAR 和 package equired libraries into generated JAR。 前者是把你用到的.class 文件提取出来,后者则是把你所需要的所有jar包都打进一个包里。导出时可以指定入口函数类,具体在导出的Manifest.mf文件中。执行该jar包时,可以直接输入java -jar ch04.jar即可,此时会自动调用Manifest.mf文件中的入口函数类,其依赖的包如果是已经打包在ch04.jar包中,则不需要在Manifest.mf文件中再次指明。
准备主清单文件 “MANIFEST.MF”
由于是打包引用了第三方jar包的Java项目,故需要自定义配置文件MANIFEST.MF,在该项目下建立文件MANIFEST.MF,内容如下:
Manifest-Version: 1.0
Class-Path: lib/commons-codec.jar lib/commons-httpclient-3.1.jar lib/commons-logging-1.1.jar lib/log4j-1.2.16.jar lib/jackson-all-1.8.5.jar
Main-Class: main.KillCheatFans
第一行是MAINIFEST的版本,第二行Class-Path就指定了外来jar包的位置,第三行指定我们要执行的MAIN java文件
修改要注意几点
(1)Main-Class、Class-Path冒号后要有一个空格
(2)Class-Path回车后前面要有两个空格
(3)Main-Class后一定要回车(即最后一行是空白行),让光标到下一行,这样你生成的jar包才能找到你的主class去运行,否则可能会出现“jar中没有主清单属性”的错误。
修改文件 “MANIFEST.MF”
方法一、解压jar包找到并修改MANINFES.MF文件保存,压缩为ZIP,修改压缩包的后缀为jar,重新运行即可(此方法适合一般普通jar包,未验证成功)
方法二、使用360压缩打开,找到MANINFES.MF文件修改保存,并重新保存jar包即可

浙公网安备 33010602011771号