利用exe4j将可执行jar文件转换为exe文件(无需安装JVM)

原创 小斯  2018-02-21 09:05 

使用java较多的人,经常会将自己编写的实用功能打包为可执行的jar文件,以后双击该文件就能直接运行程序,这样就不需每次打开编辑器运行程序,方便快捷了很多。但是,jar文件的运行依赖于java运行环境,不用java的人的电脑上几乎不可能会安装java运行环境。若想将这些小程序分享给他们使用,那该怎们办?难道让他们下载安装JDK、配置环境变量等一系列操作?其实不用这么麻烦,直接利用exe4j将可执行jar文件转换为exe文件并附带上jre目录,windows系统下就可以直接双击运行了。

利用exe4j将可执行jar文件转换为exe文件(无需安装JVM) 实用经验 第1张

exe4j将jar转exe的详细步骤

1、打开软件,直接点击Next.

2、选择“JAR in EXE mode”,点击Next.

3、在General——Short name of your application处输入应用程序的名字(随便输入即可),在Directories——Output directory框中选择或输入生成exe的输出路径,然后Next.

4、在Excutable name中输入将要生成的exe的名称,Icon File是应用程序显示图标,可选可不选。此处选择了一个ico图标,点击Next.

5、配置Class path,添加jar文件。点击+号弹出配置框,此时默认选择的是“Archive”,在Archive处选择要进行转换的jar文件,点击“OK”添加。

6、继续配置Class path,添加运行环境。点击+号弹出配置框,切换至“Environment variable”,在“Environment variable name”处填写“JAVA_HOME”即可。此步指定java运行环境,非常重要。若不指定运行环境,最后生成的exe就会报错缺少运行环境,打不开。设置完成后点击next

7、General —— Main Class选择主类(jar文件的主类,个人习惯将主类命名中带上_app后缀,便于区分),点击next

8、Java Version —— Minimum version(低版本必须填写),Maximum version(高版本可以为空),如果高低版本都填写,注意高版本的值必须大于低版本的值。然后勾选Allow JREs with a beta version number以及Only allow JDKs and no JREs(本次未勾选后一项也正常运行)。到这一步后可直接finish,开始转换为exe文件。

9、转换完成后弹出对话框,可以点击“Click Here to Start the Application”按钮测试生成的exe文件,也可以直接到输出路径下找到文件进行测试。

10、如果双击exe文件报错,提示环境变量未指向32位的jdk,那么需要检查环境变量中是否设置了正确的JAVA_HOME。如果JAVA_HOME中指向的是64位的jdk,则需要在exe4j的第4步中的“32bit or 64bit”处勾选64即可,这样生成的exe就能够正常使用了。

小结:上述方法确实能够生成能正常运行的exe文件,但是仍然需要JVM,和jar包并无区别,只是相当于在jar的基础上再进行了一次封装,隐藏了代码而已。打包成exe的真实目的应该是脱离JVM直接运行。

11、将jre目录添加到exe文件中。如果想保证发布的程序能够在没有安装JRE的机器上面运行,就需要连JRE安装目录一起发布到其他机器上。在exe4j的第6步中“JRE”——“Search sequence”中设置exe程序与jre的相对目录,比如此处在最后设置的.\jre8,将该项放最后,表示需要将exe程序与jre8放在同一目录下,程序运行时会按顺序从这些文件夹中寻找java.exe,找到后就正常运行,如果一直没找到就会报错。只要在最后设置了.\jre8,不管用户的电脑上是否安装了JRE,只要将该jre8目录放在与exe同一目录下,程序就能正常运行。此法非常高效,建议以后所有要发布的exe程序都按照该方法进行处理:设置.jre目录后导出exe,将exe与JRE目录一起压缩后发布。

小结:关于第11步,如何让用户不安装JVM的情况下运行转换后的exe文件,网上找了很多教程,都很麻烦,有的说不行,有的说安装一个JDK,最常见的解决办法就是用Inno Setup将简化版的JRE封装到setup中,然后再安装后运行……都很不高效。而11步中,直接将自己机器上安装的JRE目录同exe文件一起压缩后分享,用户解压就可以直接使用了,非常便捷。原JRE目录有160多M,压缩后也就40M左右。此法类似绿色软件,更方便的是,JRE目录放一个在那里就够了,本人以后发布的任何小程序,用户放在与JRE同目录下就可以直接双击运行了。

平时会写一些小程序来处理一些繁琐工作或实现一些实用功能,以后会陆续分享出来。此处先分享JRE目录的压缩包,其中包含自己编写的一个复制文件夹目录结构的小程序,感兴趣的朋友可以下载后自行测试。

下载地址如下:

此处为隐藏的内容!
发表评论并刷新,才能查看
本文地址:https://cas01.com/535.html
公 众 号 :注意两个号的区别,小斯想专注于OneNote和思维导图等具体的知识管理软件的经验分享。(OneNote为主);cas01专注于知识管理理论及实践成果的分享。(知识管理理论及实践)。
温馨提示:本站发布的压缩包如需密码解压,若无特别说明,密码统一为:cas01.com
版权声明:本文为原创文章,版权归 小斯 所有,转载请保留出处。

发表评论


表情

  1. jack
    jack 【LV1】 @回复

    超赞的很。

  2. 年华
    年华 【LV1】 @回复

    谢谢