转:如何将java转换成可执行文件

(转载地址)http://hi.baidu.com/liweicheng1986/blog/item/1fe5f0f95a163205d8f9fd63.html
The Road of Java to EXE【将Java转换为exe文件发布的方法】【转】2009年10月19日 星期一 11:20转自:A Boy's Dream

最近一个项目要求我本地测试好的Java Socket服务端程序上传到客户的服务器并部署。
  第一个想到的问题就是我第一次运行Java程序时繁琐的安装配置(这在很大程度上影响了我对Java的好感),如果使用同样的方法在客户的服务 器上安装配置的话,基本是不可能的,客户只提供了ftp方式的上传,我没可能远程控制到他们的机器啊。所以就上网搜了一下,发现有些人使用一些工具将 java的执行文件jar发布成了exe文件并整合进了安装包,这样只要在用户机器上运行一下安装程序,客户不需要做其他设置,只需要运行安装好后解压出 来的exe文件就可以运行了。

  鉴于网上大量的信息,但仍然有很多人不明所以,所以写下次篇文章,以供各位迷惑的Java开发者参考。

  将Java转换为exe文件需要使用到两个工具,可能很多人已经知道了,它们是exe4j和InnoSetup。

  上面的两种工具我已经随附件上传了,哪位需要的可以直接下载(都是破解版的,嘘,小点儿声,别人我不告诉他)。

  安装完exe4j之后的运行界面如下图:


  各位程序员同志,上面的英文应该能看懂吧,如果这个都看不懂,那我还是建议你回小学重新回炉吧!扯远了,这个界面只是显示一些基本的信息,不用看了,直接点击“Next”按钮。


  这个界面是让我们选择工程类型,我们点选"JAR in EXE" mode,点击“Next”按钮。


  下面该设置应用程序名称和输出路径了,在"Short name of your application"右侧的文本框中输入你的名称,下面的栏目点击右侧"..."按钮选择你要输出exe文件的路径。设置好后,点击"Next"。


  Excutable栏目里有一些关于程序的设置,第一项Excutable type我们选择GUI application,即图形应用程序,当然,这部分大家可以根据需要选择相应的选项,Console application是控制台应用程序,Service是后台服务。

  Excutable name里要填写我们要生成exe文件的文件名。

  Icon File里可以为生成的exe文件指定图标文件。

  Allow only a single running instance of the application这个选项是用来指定应用程序是否可以“多开”,经常玩网络游戏的朋友应该比较清楚吧。

  剩下的2个选项使用默认的就好。在此就不做翻译了。


  下面该设置java方面的问题了,点击右侧的“+”号按钮,弹出对话框。


  在detail项目里点击“...”按钮,选择你所要打包的jar文件。对话框中的Error Handling选项要小心,钩住那个选项之后,一旦程序运行中出现错误就会中断程序运行。单击OK按钮回到界面。


  回到界面我们看到ClassPath栏目下面已经有了我们的jar文件,但是还要在MainClass里选择选择主类。


  下面到了JRE的设置,这部分需要设置JRE的最低和最高版本。这里不是重点,重点在于下面的。我们点击“Advanced Options”按钮选择"Search Sequence"选项。删除看到的所有条目。点击添加按钮弹出对话框。


  Entry Type选项选择中间的Directory。我们在jar文件所在的目录下新建一个JVM文件夹,将java安装目录下面jre文件下面的所有文件都复制 过来。在对话框中的Detail选项中的Directory文本框中输入".\JVM"。单击"OK"按钮完成设置。继续单击"Next"按钮,看 到"Choose the preferred VM"界面,按默认设置,不做修改,继续单击"Next"按钮。看到"Configure splash screen"界面,按默认设置,继续单击"Next"按钮,来到"Configure message of the executable"界面,默认,继续"Next",等待进度条到达末端,即完成了整个jar生成exe文件的过程。

继续上节的问题,现在我们已经把Jar制作成了EXE文件,但是用户使用起来还不是特别的方便。当然,你可以把生成的exe文件和JVM文件夹放在 一起压缩成一个压缩包,传给客户,让客户解压缩之后运行。但这显然不够人性化。通常的做法是我们会把文件通过安装程序入住到目标机上。

  那么下面我们就使用InnoSetup这个工具来帮助我们完成这一任务。

  安装完InnoSetup之后,运行程序,程序界面如图:


  我们点击“文件”菜单-》“新建”选项,会弹出一个对话框。不用做任何操作,直接点击“下一步”:


  填写一些相关的信息,然后点击“下一步”:


  默认就好,继续点击“下一步”:


  这一步操作至关重要,“应用程序主执行文件”那里我们点击“浏览”按钮找到我们要添加进来的 exe文件。我们之前新建了一个名为JVM的文件夹,将那个文件夹再次放在一个名为JVM的文件夹里,到这里大家可能会有疑问,这样的操作室为什么呢?实 际上发布的时候,Inno Setup程序会直接把JVM文件夹中所有的文件放到安装目录下面,这样我们之前在exe4j里面设置的将JVM放置在exe所在目录下的设定就失效了, 程序运行的时候会因为找不到JRE而出错。所以在发布之前要为JVM再套一个文件夹。这样操作之后我们单击“添加文件夹”,找到我们刚才另外又套了一个 JVM文件夹的目录,把它加进来,软件会提示是否将其子目录所有文件加进来。选择“是”,完成所有文件的添加操作。单击“下一步”按钮:


  勾选所有的选项,单击“下一步”来到应用程序文档界面,添加一些相关的信息之后,单击“下一步”来到安装语言界面,根据需要选择相应的语言,设置好后,单击“下一步”来到编译设置界面:


  自定义编译器输出的文件夹是我们设定要把最终生成的安装程序输出到哪里,选择硬盘中一个位置 即可,编辑器输出基本文件名中设定安装程序的文件名。单击“下一步”按钮,再单击“完成”按钮即可完成所有设置。回到主界面,软件提示时候立即编译,选择 是,编译完成之后,在我们之前设定的输出文件夹中就能看到我们生成的安装程序了。

  好了,打完收工!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值