首先,在任意目录创建一个文件夹,最好命名和项目名相同,我在E盘创建了一个“DataStructure”文件夹,之后将所有的资源文件以及我们生成的可执行jar文件(我的DataStructure.jar)都拷贝到这个文件夹里, lib目录,如果你要使对方计算机在没有安装JDK的情况下也能使用该程序,就需要将自己机器上的jre目录也拷贝进来,我安装的jre6,最后的目录结构如下:
选择“jar in exe”
选择你的应用程序的名称和将要生成的可执行文件的输出文件夹。然后>>next.(注意:这里的目录一定要与jar包及其依赖的lib目录为同一目录,否在加载jre时无法使用相对目录)
如果只允许生成的exe文件同时只能打开一个程序运行,则把 “Allow only a single running instance of the application”这项的选择钩上。“Icon File”项表示生成exe文件后的图标,选择一个“.ico”格式的图片。点击next
在class path框下清除原有的class path路径,点击右侧的”+”选择打包好的jar文件
(1)、在Archive中选择要导入的jar文件,如下图:
点击“OK”,结果如下:
(2)、在Main class中选择入口类,即含有main函数的类。
之后点击next
Main Class设置完成后,依次将所有需要的第三方类(即外部类)加到Class Path下,方法同添加“DataStructure.jar”一样,点击“Next”
在Minimum和Maximum中分别填写所允许的最小和最大JDK的版本号。
如果要在这个程序中捆绑jre,则进入Configure search sequence选项:
(1)、将Search Windows registry保留,如果没有该项,请点击绿色“+”,选择“search registry”,然后点击“OK”如下图;
(2)再把其它的所有的directory删除,特别是如果有“JAVA_HOME”或“JDK_HOME”的话一定要删除,因为他会保存你本机的JAVA_HOME地址,安装时会出现路径找不到的错误;
(3)、点击绿色“+”来选择捆绑的JRE位置
选择刚刚拷贝好的jre如:(注意此处jre的目录一定要为相对目录,否在在其他计算机上运行时jre必须放到和此次打包时相同目录才可以)
在preferred VM中选择一种-选择虚拟机类型,我选择的是 Default VM。
7、接下来没有什么特别重要的配置了,可根据需要自己去选一些参数,也可以直接next,next,知道完成。
生成exe文件之后可能每次打开都会出现提示框:this executable was created with an evaluation version of exe4j
这是因为你还没有注册exe4j软件,注册之后就不会有提示了。
打包完的.exe程序运行的时候,报如下错误:The JAVA_HOME environment variable does not point to a working 32-bit JDK or JRE.
原因是:我的电脑为64位的,而打包所使用的jre也为64为,但是使用exe4j打包时,却默认打包为32位的,所以在64位电脑上运行时会出错;
解决方法为:在打包的过程中的下级菜单选择64位就可以了,如下图所示
最后提醒:在打包完测试时,一定要屏蔽掉本机的jdk环境,