方法1:
Eclipse通过导出的方式(右键单击项目,之后选择Export)打包java类文件生成jar包。
选中工程---->右键,Export...--->Java--->JAR file--->next-->选择jar file的路径及名称-->next-->next---> 选择main class--->finish.
如果引用了外部类的话,在执行的时候使用-Djava.ext.dirs=/Users/yangjp/Documents/workspace/Java/lib 外部包路径即可
java -Djava.ext.dirs=/Users/yangjp/Documents/workspace/Java/lib -jar test.jar
需要jdk1.6或者以上
方法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的名称,如/java/main,(其中java为工程名,main为manifest file的名称)点击finish,回到工程,打开刚刚生成的main,在这里要输入如下信息:
Manifest-Version: 1.0
Main-Class: WebMain
Class-Path: ./axis.jar ./javaee.jar ./commons-discovery-0.2.jar ./commons-logging-1.0.4.jar
其中,Manifest-Version: 1.0为刚刚自动生成的manifest版本号;
Main-Class: WebMain为main class所在类;
Class-Path: axis.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,如:/java/main,点击finish,到此就大功告成啦;假设生成的jar包的名称为test.jar,那么Class-Path中引入的axis.jar要和test.jar位于同一个目录下。