使用exe4j将java项目打成exe执行程序

最近用Java写了一个小工具,想将它达成exe执行文件,到时候直接放某个目录下,一执行就能跑啦。html

 

用到的工具:java

一、写好的项目:能够是java项目,也能够是java web项目web

二、可以打jar的工具:我用的MyEclipse开发,他们有自带的工具,我就直接用这个了工具

三、exe4j:能够去网上下载,地址:http://www.ej-technologies.com/download/exe4j/files.html,有绿色版的和安装的,32位和64位的。个人是别人给的安装版的,跟官网的最新版可能有些出入,有须要的能够去附件中下载。测试

四、jre:java项目的运行离不开jre,也不能要求客户本身去装JDK,因此仍是给它带个比较保险。(JDK安装以后,有jdk和jre两个目录,能够直接复制这个jre文件夹,也能够复制jdk文件夹下的jre。我这里用的jdk是1.6的)。rest

五、一张后缀名为ico的图标文件,做为exe执行程序的图标。也能够没有。htm

 

下面开始弄。blog

1、将项目中的src加压成jar包:图片

一、个人目录结构:

 ip

二、在项目名称上右击(或者在左侧的空白处右击),选择"Export",也就是导出文件,在弹出框里面找到“Java---JAR file”,如图,而后“Next"。

 三、去掉除了src之外的其余文件的勾选状态,只选择src文件夹,如图。而后选择当前jar要保存的位置。最后的三个Options默认的第一个是勾选的,后面的两个是不勾选的。我们这儿一并勾上吧,无非就是要是选的文件夹不存在就新建文件夹,要是在已经存在就直接覆盖。要是不勾选检测到指定目录下有指定文件时会弹出框问你是否覆盖。上面三点弄完以后,点击“Next”。

四、使用默认设置,点击“Next”。

五、日后的步骤,一路默认一路Next就成。期间可能会遇到一个问题,以下图。这是两个warnings。无关痛痒,能够不用去管它。你要是以为不舒服不想要有的话,查网上的资料,说将第四部的两个勾都给去掉就不会有这个警告了。(我试了试,的确没有警告了,可是在后面生成exe执行程序以后,却报错说被警告的两个文件找不到了。细看那两个勾选的内容,一个是说错误一个是说警告,跟个人这个找不到文件半毛钱关系都没有,因此多是碰巧碰到错了。)

六、至此,选定的目录下应该就有导出的jar包了。

 

 

2、组织目录结构:

将java项目里面的其余文件夹(我这里是lib和log两个文件夹)复制到刚刚导出的jar所在目录,并将导出的jar包放到lib目录里面。再新建一个image或别的名称的文件夹用来存在exe生成后的图标(也能够直接放在根目录下面,我是放在image标签下),最后将jre文件夹拷贝至此。个人目录以下:

  
 
 3、使用exe4j工具生成exe执行程序:

一、安装完成exe4j工具以后,双击会打开welcome界面,这个界面是用来输注册码用的,你要是不输,能够直接next。但如果不输入,双击生成的exe时,会alert出一段话,如图。必须点“肯定”才能够执行程序。

 为了避免让这个问题成为“客户反馈的问题”,我们仍是输入注册码吧。点击"Enter license"按钮,输入Name、Company、和License Key。前面两个能够随便输,key能够试试下面的。

License Key:

A-XVK258563F-1p4lv7mg7sav 
A-XVK209982F-1y0i3h4ywx2h1 
A-XVK267351F-dpurrhnyarva 
A-XVK204432F-1kkoilo1jy2h3r 
A-XVK246130F-1l7msieqiwqnq 
A-XVK249554F-pllh351kcke50 
A-XVK238729F-25yn13iea25i 
A-XVK222711F-134h5ta8yxbm0

 

二、Lisence输入完成了点击“OK”回到welcom界面,点击“Next”,在“Choose project type”里面选在“JAR in EXE mode",也就是用jar包来生成exe。Next。 

三、目录配置,也就是将哪一个文件夹下面的东西打成exe。常规里面填个应用的简写名称,Direcotries里面选择须要生成exe的目录,也就是上面组织的目录结构。如图。最后Next。

四、exe执行程序配置。

Executable name:就是exe执行文件的名称

Icon File:exe执行文件的图标。这里选择image下面的ico文件。这里只能用ico文件做为图标。也能够取消前面的复选框不给当前exe设置图标,如果不设置系统会根据系统主题自动设置一个图标。

Allow only a single ......:在一台电脑上只容许运行一个exe程序,如果容许多个,能够不勾选

最后点击”Next“。

五、 invocation配置。也就是添加jar文件和指定主方法。点击绿色的”+“号,在弹出框里选择lib中的jar包(如图2),而后”OK“。这个只能一个一个的添加,要是用的jar包比较多加起来还挺麻烦的。 


lib中的jar都添加完了以后,指定main方法,点击”main class“后面的按钮,在弹出框里面找到程序的主方法,如图,添加进去。


这两步都OK以后,最后的结果是:

有时候系统中除了用到jar包以外,还会用到dll文件,而上面的添加jar包的步骤中不能添加dll文件,将dll文件放在与exe同级目录下也同样会由于dll的问题致使系统出错,甚至于放到system32文件夹下也没用。我在弄这个系统的时候,就有dll文件,折腾了大半天,也找了很久的资料(找的过程当中发现好多人在这一步也很苦恼),后来发现,其实exe4j早就考虑到这个问题了,就是上图中的Advanced Options,即:

能够经过这个添加任何非dll的文件所在的文件夹,操做很简单,点击以后弹出以下图的对话框,点击绿色“+”号, 选择dll文件所在目录,我这里是放在lib目录下的,因此选择lib,添加完以后,结果以下:

六、 配置jre。配置jre的最小版本,即低于这个版本的Jre没法运行该程序。最大版本也是同样的。我用的jdk是1.6的,因此配置最小为1.6。最大的能够不设置。

 接着点击“Advanced Options”-“Search sequence”,设置一下咱们的JRE,由于客户的机器上未必有jre因此我们本身带一个比较好。在弹出的框里面点击绿色的”+“号,在Define search sequence entry中选择Direcotry,并给定jre所在目录。而后”OK“。

jre添加完成以后效果以下: 

七、完后的三步都是用默认操做,一路Next便可。直到以下界面:

到这个界面说明已经生成完成了。 还须要说的有三点:

一、Click here to Start the Application:这个按钮时用来测试执行程序的,点击该按钮便可启动exe执行程序。

二、Save As:这个很重要。这个保存了以上运行步骤的过程,保存后会生成一个exe4j,之后若是须要将该程序从新打exe,直接运行这个exe4j文件便可,之后的各类配置都被存入这个文件了,基本上一路next就成,特别好用。

三、Restart:这个restart有点误导人。Restart是重启的意思,在这的话更容易理解成从新生成。我开始弄的时候弄错了,想从新生成一下,因而点了这个,结果直接给我跳到第一步从新来了。所幸各类设置都还在,要是给我清空我不得重来一回。

八、最后的结果应该这个样子的:

 说明:上面的截图中有设置exe的图标,为了测试我不设置图标会出现什么效果,我这里没有添加图标。其余的跟截图都是同样的。

 

4、组织给客户的东西:

新建一个文件夹,将JRE文件夹和生成的exe执行程序拷贝到文件夹下。如果系统里面用到了dll文件,这在一步还须要添加dll的文件信息,上文中有提到添加dll文件:是选择的dll所在的文件夹,这里也同样,将dll所在的文件夹复制过来与exe同级,再删掉里面的jar包。为何这么处理呢?由于exe4j对于这些非jar文件不会像jar包同样包装进exe,它只记录它们的具体位置(也就是让咱们选的dll目录),因此才须要咱们手动添加dll文件及目录且目录名称必定要与选择的目录相同。最后,双击exe,测试程序效果是否有误。

 

至此整个过程完成。

 

来源:http://1017401036.iteye.com/blog/2248488

相关文章
相关标签/搜索