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包即可

posted @ 2022-01-11 09:45  娜乌西卡在路上  阅读(370)  评论(0)    收藏  举报