制作JAR

第一:普通类导出jar包,我说的普通类就是指此类包含main方法,并且没有用到别的jar包。 

1.在eclipse中选择你要导出的类或者package,右击,选择Export子选项; 

2.在弹出的对话框中,选择java文件---选择JAR file,单击next; 

3.在JAR file后面的文本框中选择你要生成的jar包的位置以及名字,注意在Export generated class files and resources和Export java source files and resources前面打上勾,单击next; 

4.单击两次next按钮,到达JAR Manifest Specification。注意在最底下的Main class后面的文本框中选择你的jar包的入口类。单击Finish,完成。 

你可以在dos环境下,进入你的jar所在的目录,运行 java -jar 名字.jar,检测运行是否正确。 

第二、你所要导出的类里边用到了别的jar包。比如说你写的类连接了数据库,用到数据库驱动包oracl.jar.。 

1.先把你要导出的类按照上面的步骤导出形成jar包,比如叫test.jar 

2.新建一个文件夹main,比如在D盘根目录下; 

3.把test.jar和oracl.jar拷贝到main文件下,右击test.jar,解压到当前文件夹。把META-INF\MANIFEST.MF剪切到另外一个地方 (比如是桌面!) ; 

4.右击oracl.jar,解压到当前文件夹。 

5.在dos环境下,进入到D盘的main文件夹下,执行 jar cvfm new.jar meta-inf/manifest.mf .,不要忘了最后面的点。 

6.用压缩工具打开你新生成的new.jar,用你放在桌面的META-INF\MANIFEST.MF覆盖new.jar原有。 

你可以在dos环境下,进入你的jar所在的目录,运行 java -jar 名字.jar,检测运行是否正确。 

 

 

 

具体参数:

1.在dos下面打包jar文件 
————————————————————————————————————————————

D:\jdk1.5.0_07\bin> jar  /help 
用法:jar  {ctxu}[vfm0Mi]  [jar-文件]  [manifest-文件]  [-C  目录]  文件名  ... 
选项: 
-c  创建新的存档 
-t  列出存档内容的列表 
-x  展开存档中的命名的(或所有的〕文件 
-u  更新已存在的存档 
-v  生成详细输出到标准输出上 
-f  指定存档文件名 
-m  包含来自标明文件的标明信息 
-0  只存储方式;未用ZIP压缩格式 
-M  不产生所有项的清单(manifest〕文件 
-i  为指定的jar文件产生索引信息 
-C  改变到指定的目录, 
在命令行中运行刚刚生成的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啦。 
注意,如果你是在文件导出放在如:E盘,则你需要导入得包也要放在这个目录里。 
如果一个文件名是一个目录,它将被递归处理。 
清单(manifest〕文件名和存档文件名都需要被指定,按 'm '  和  'f '标志指定的相同顺序。

示例1:将两个class文件存档到一个名为  'classes.jar '  的存档文件中: 
jar  cvf  classes.jar  Foo.class  Bar.class 
示例2:用一个存在的清单(manifest)文件  'mymanifest '  将  foo/  目录下的所有 
文件存档到一个名为  'classes.jar '  的存档文件中: 
jar  cvfm  classes.jar  mymanifest  -C  foo/  . 
——————————————————————————————————————————————————

2.用eclipse打包jar文件。 
—————————————————————————————————————————————————— 
Eclipse通过导出的方式(右键单击项目,之后选择Export)打包java类文件生成jar包。

方法一:(在项目工程没有引用外部jar包时,直接导出) 
选中工程---->右键,Export...--->Java--->JAR file--->next-->选择jar file的路径及名称-->next-->next---> 选择main class--->finish.


方法二:
当工程引用了其他的外部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
Main-Class: com.pacong.convert.auto.propertes.ConvertAutoProperties
Class-Path: jxl.jar
其中,Manifest-Version: 1.0为刚刚自动生成的manifest版本号;
Main-Class: com.pacong.convert.auto.propertes.ConvertAutoProperties为main class所在类;
Class-Path: jxl.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中引入的jxl.jar要和test.jar位于同一个目录下。

这里还有一点要注意:
如果想在命令行中运行刚刚生成的jar,命令如下:
java -jar test.jar
如果在jar中有一些System.out.prinln语句,运行后想看看打印出的内容,可以用一下命令:
java -jar test.jar >log.txt
输出信息会被打印到log.txt中,当然log.txt自动生成,并位于和test.jar一个目录中。

你可能感兴趣的:(制作JAR)