一、用Eclipse生产Jar文件
首先,看一下我的项目的目录结构:
1,项目名字上面点右键,选择Export,在选择java\JAR file,下一步;如下图:
(2),选择,src文件夹,.classpath和.project可以去掉不选。Select the export distination(选择输出路径),下一步。
(3),去掉Export class files withcompile errors(编译错误时也输出class文件)的选项,单击下一步。
(4),在main class中选择含有main方法的类,单击finish。
(5),可能会出现警告JAR export finished with warings, see details for additional information.选择OK。
(6)、可能会出现的错误
如果以上过程都能胜利完成,恭喜你,这一过程完成了,生成个jar文件成功!但是有时候在第(4)后会出现错误,如:
此时,课通过以下方法解决:
1)检查项目下的bin文件夹下的文件是否完整,打成jar包的过程实质上是将项目下bin文件夹下的文件(class文件,图片,jar包等文件)压缩成jar包。打开项目的目录结构你会发现:在src文件夹下有的文件在bin文件夹下都一个一样的副本(.java文件对应的是.class文件)。
2)、刷新项目,选择要打包的项目,右击鼠标,选择refresh。作用是可能更改了的内容没有及时复制到bin文件夹下。
3)、在项目的目录下,和src同级建一个META-INF文件夹,
里面建立一个METAINF.MF,
里面指定main-class以及程序运行相关的代码,
我写的代码是:
Manifest-Version: 1.0
Main-Class: execute.Structure
Class-Path: .lib/jfreechart-1.0.1.jar lib/liquidlnf.jar lib/nimrodlf-1.0b.jar lib/substance.jar
//导入的包的路径
Created-By: loweifu
在第4步中选择Use exiting manifest from workspace,如下图:
二、使用exe4j生可执行的.exe文件
能够生成.exe文件的软件有很多,自己去查一下,我这里只用 exe4j,先去下载一个exe4j并安装。假设你的项目已经胜利打包成jar文件,那么就可以进行下面的操作了。
首先,在任意目录创建一个文件夹,最好命名和项目名相同,我在E盘创建了一个“DataStructure”文件夹,之后将所有的资源文件以及我们生成的可执行jar文件(我的DataStructure.jar)都拷贝到这个文件夹里, lib目录,如果你要使对方计算机在没有安装JDK的情况下也能使用该程序,就需要将自己机器上的jre目录也拷贝进来,我安装的jre6,最后的目录结构如下:
1、如果你有保存过的项目打包配置文件,那么点>>open打开点击next。
2 、Project type-选择打包方式
选择“jar in exe”
3、 Application info-配置生成的应用程序的信息
选择你的应用程序的名称和将要生成的可执行文件的输出文件夹。然后>>next.
4、Executable info -配置可执行文件的参数
如果只允许生成的exe文件同时只能打开一个程序运行,则把 “Allow only a single running instance of the application”这项的选择钩上。“Icon File”项表示生成exe文件后的图标,选择一个“.ico”格式的图片。点击next
5、java invocation-配置运行环境
在class path框下清除原有的class path路径,点击右侧的”+”选择打包好的jar文件
(1)、在Archive中选择要导入的jar文件,如下图:
点击“OK”,结果如下:
(2)、在Main class中选择入口类,即含有main函数的类。
之后点击next
Main Class设置完成后,依次将所有需要的第三方类(即外部类)加到Class Path下,方法同添加“DataStructure.jar”一样,点击“Next”
6、jre-配置jre【以下(1)、(2)点很重要】
在Minimum和Maximum中分别填写所允许的最小和最大JDK的版本号。
如果要在这个程序中捆绑jre,则进入Configure search sequence选项:
(1)、将Search Windows registry保留,如果没有该项,请点击绿色“+”,选择“search registry”,然后点击“OK”如下图;
(2)再把其它的所有的directory删除,特别是如果有“JAVA_HOME”或“