从以下两篇文章整理所得http://blog.youkuaiyun.com/kanfeikanfei/article/details/4024304 和http://blog.youkuaiyun.com/guanmjie/article/details/4437779
有时候需要将j2se工程导出,这样可以在别处运作,就不必拘泥于开发感觉中才能运行了。
具体做法如下:方法一:(工程没有引用外部jar包时,直接导出)
1.在要生成jar的项目上右击,选择菜单上的Export(导出)
2.导出类型选择Jar File
3.选择或者输入生成路径
4.manifest文件是默认生成的,你还可以选择把生成后的文件保存到指定路径
程序的切入点点击“浏览”Eclipse会自动检测可以切入的类,选择你要作为切入点的类就行了
方法2:
当工程引用了其他的外部jar时,由于eclipse不支持同时导出外部jar包的功能,所以比较麻烦一点;具体步骤如下:
生成manifest file:选中工程--->右键,Export--->Java--->JAR file--->选择jar file的路径及名称--->next--->next--->next;
此时来到了方法1中要选择main class的窗口,但这里先不选择main class,选择最上方的Generate the manifest file, 勾上Save the manifest in the workspace,在Manifest file:中输入file的名称,如/testProject/main,(其中testProject为工程名,main为manifest file的名称)点击finish,回到工程,打开刚刚生成的main,在这里要输入如下信息:
Manifest-Version: 1.0
Class-Path: lib/hadoop-core-1.0.4.jar lib/hbase-0.94.2.jar lib/commons-logging-1.1.1.jar
Main-Class: coprocessor.RegionObserverExample
其中,Manifest-Version: 1.0为刚刚自动生成的manifest版本号;
Main-Class: coprocessor.RegionObserverExample为main函数所在类;
Class-Path: lib/hadoop-core-1.0.4.jar lib/hbase-0.94.2.jar lib/commons-logging-1.1.1.jar为外部jar包名称,这里是告诉导出的jar包,所要用到的外部的jar包的路径及名称。
上面都做完了就可以导出带外部jar包的jar包了,步骤如下:
选中工程--->右键,Export--->Java--->JAR file--->选择jar file的路径及名称--->next--->next--->next,这时又来到了选择main class的窗口,但这里也不选择main class,选择Use existing manifest from workspace,在Manifest file:里选择刚刚生成的main,如:/testProject/main,点击finish,到此就大功告成啦;假设生成的jar包的名称为test.jar,那么Class-Path中引入的jar都放在lib文件夹中,且lib目录和test.jar位于同一个目录下。
这里还有一点要注意:
如果想在命令行中运行刚刚生成的jar,命令如下:
java -jar test.jar
如果在jar中有一些System.out.prinln语句,运行后想看看打印出的内容,可以用一下命令:
java -jar test.jar >log.txt
输出信息会被打印到log.txt中,当然log.txt自动生成,并位于和test.jar一个目录中。
这里也可以新建一个start.bat文件,创建后;右键---编辑,输入:java -jar test.jar >log.txt;以后直接双击start.bat即可运行test.jar啦。
第三中方法:使用 FatJar插件
其实这样已经能够满足我的要求了,查看Eclipse如何打包的过程中我发现有个fatjar插件功能更强些,可以把需要的资源打进一个jar里。所以下载了一个,下载地址:http://sourceforge.net/projects/fjep/files/fatjar/
解压缩后是一个.../plugins/net.sf.fjep.fatjar_0.0.31.jar 把plugins下面的net.sf.fjep.fatjar_0.0.31.jar文件拷贝到eclipse的plugins下,重新启动 Eclipse3.7,Windows=>prefernce=>fat jar preference看到他就说明已经安装成功了。如果没有看到,没有关系,删除D:\eclipse3.7\configuration\org.eclipse.update\platform.xml文件(此文件可以自动生成)不用担心以前的插件会因此而消失。删除后重新启动Eclipse,发现fatjar插件已经安装成功了!
选中你的项目=〉Export..=>向导里有fat jar =>使用起来真的很方便~
总结:
一般把src打包export=>Jar File 即可。
想把src附属的资源一起打包,必须使用FatJar => export..=>FatJar.
MANIFEST.MF的用途 http://blog.163.com/xiaokangzhijia@126/blog/static/1659548562010112991634509/