exe4j是一款很经典的将Java类文件打包成.exe文件的软件,支持把jar class文件等编译成windows下能够直接运行的exe文件,还可以添加启动等待画面。
一、exe4j下载及安装
1.首先去官网下载exe4j:https://www.ej-technologies.com/download/exe4j/files,选择对用版本下载
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WInW4LhI-1599904865317)(assets/20190721162819182.png)]](https://i-blog.csdnimg.cn/blog_migrate/0585ad7112868981d92523348a131f72.png#pic_center)
2.下载完成后,一直下一步就可以,如果对下载位置有要求,请自行变更
3.exe4j下载完成后需要添加注册码,否则每次打开都会有对应提示
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PBA7fKqk-1599904865321)(assets/20190721163046910.png)]](https://i-blog.csdnimg.cn/blog_migrate/3a28c93ad8c90a369ee28f63fb655d68.png#pic_center)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qQ91okdb-1599904865323)(assets/20190721163122303.png)]](https://i-blog.csdnimg.cn/blog_migrate/452545bd50075f8519b3992a984f1011.png#pic_center)
4.公司和名字随便填,注册码下面的随便随便复制一个即可。
A-XVK258563F-1p4lv7mg7sav
A-XVK209982F-1y0i3h4ywx2h1
A-XVK267351F-dpurrhnyarva
A-XVK204432F-1kkoilo1jy2h3r
A-XVK246130F-1l7msieqiwqnq
A-XVK249554F-pllh351kcke50
A-XVK238729F-25yn13iea25i
A-XVK222711F-134h5ta8yxbm0
A-XVK275016F-15wjjcbn4tpj
A-XVK275016F-15wjjcbn4tpj
二、安装步骤
对于打包jar文件,在eclipse中右击项目选导出即可。下面是制作打包jar文件的步骤。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2wRmPryW-1599904865326)(assets/1599801656226.png)]](https://i-blog.csdnimg.cn/blog_migrate/6c9f14e4fd91c8b4396f8511994a1486.png#pic_center)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5lQpx4Or-1599904865329)(assets/1599801686333.png)]](https://i-blog.csdnimg.cn/blog_migrate/84b2936fa4f963180f5f088d1cd952d6.png#pic_center)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Us4zAQwW-1599904865333)(assets/1599801743681.png)]](https://i-blog.csdnimg.cn/blog_migrate/2268ef8566eea918495f228548b7a1b1.png#pic_center)
第1步,当激活之后点击下一步即可。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3xdztM3e-1599904865335)(assets/1.png)]](https://i-blog.csdnimg.cn/blog_migrate/3bcbe28435b392152bdaba6eb427116c.png#pic_center)
第2步,如果已经有制作好的jar文件,则点击下面一个"JAR in EXE"。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eD1z573r-1599904865338)(assets/2.png)]](https://i-blog.csdnimg.cn/blog_migrate/2a573295fc46205075ba8220a5b1b2b4.png#pic_center)
第3步,上面是项目名称,可随便填写,下面一个写出你想要将打包后的exe文件输出的目录:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2fzfgEBp-1599904865341)(assets/3.png)]](https://i-blog.csdnimg.cn/blog_migrate/e9fc37cdd55c82cde0a1379b593b3cad.png#pic_center)
第4步,由于我的演示程序是图形的,所以选第一个,如果你的程序是控制台的,则选择第二个,Executable name写你将要生成的exe文件的名字,Icon File可以选择生成文件的图标
选项“ Allow only a single running instance of the application”,勾选上之后,该exe只能运行一个;
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-b5Q9VR5v-1599904865343)(assets/4.png)]](https://i-blog.csdnimg.cn/blog_migrate/c919764516ffb10bdb5cbc204a49a6b8.png#pic_center)
选择Redirection选项,在两个位置中可以写记录日志的文件名称,目录为和exe的相同目录;
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VmXRtXhg-1599904865345)(assets/9.png)]](https://i-blog.csdnimg.cn/blog_migrate/c23570a27c155646ff6f88fa2a0e576e.png#pic_center)
在32-bit or 64-bit来决定你生成的exe是32位还是64位的(最好勾选);
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-s4xmr5LX-1599904865348)(assets/5.png)]](https://i-blog.csdnimg.cn/blog_migrate/b9dece42eda00f18c095e653b7b2b5e6.png#pic_center)
第5步,首先,单击绿色的"+"号,在弹出的窗口中点Archive,然后找到起初已经做好的jar文件,"OK"后返回,在下面的Class Path里就出现jar文件路径后,再在上面Main Class栏内点击找到main所在的类,这一步即算完成:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UPsbAziE-1599904865349)(assets/10.png)]](https://i-blog.csdnimg.cn/blog_migrate/ee65bb20b1ca47cba2798ad78960ebd8.png#pic_center)
main class中选择程序的入口,包含main方法的类
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xByVvNkj-1599904865351)(assets/7.png)]](https://i-blog.csdnimg.cn/blog_migrate/c3c4d09235538bfb3d5b4e7c0707eee5.png#pic_center)
VM Parameters中可以设置虚拟机的一下参数,-Dfile.encoding=utf-8是设置了utf-8的编码,以防中文乱码;
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AilixOL5-1599904865352)(assets/8.png)]](https://i-blog.csdnimg.cn/blog_migrate/d73a093af8b0356dd7f3a8902afdaa88.png#pic_center)
第6步,你系统的JRE版本,上面填个1.5,下面填1.8
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KPz3oobF-1599904865354)(assets/11.png)]](https://i-blog.csdnimg.cn/blog_migrate/f1dfc0c9571af28ce8aebe3ea58fdd60.png#pic_center)
当然,这样配置的程序只能在安装有JRE的机器上执行,发布时总要考虑的问题就是用户是否有能力在自己机器上安装JRE,总不能发布一个程序还要用户自己安装个JRE吧,下面我就介绍如何将JDK环境变量动态打包到exe中,在这里单击advanced options,选择search sequence。如图:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fDXpmBq5-1599904865355)(assets/1599820935714.png)]](https://i-blog.csdnimg.cn/blog_migrate/fa105dc187ef9cf8e4f2574f062fdc87.png#pic_center)
首先把JRE复制到exe文件输出的目录里,我用的是c:\xaocker\,在弹出的窗口中,删除列表中所有项,然后单击绿+,选择directory并选择JRE的根目录(注意是拷贝后的目录)即可,如图:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LrQe8p0U-1599904865358)(assets/12.png)]](https://i-blog.csdnimg.cn/blog_migrate/4f869257dbb6c008e5112cac881401dd.png#pic_center)
单击ok后,再从图中单击advanced options,并选择preferred VM,在弹出的窗口中选择client hostspot VM,单击next按钮继续:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DvtyAaaq-1599904865359)(assets/13.png)]](https://i-blog.csdnimg.cn/blog_migrate/dd0a898c272da8b3e9f8b52ac6bccae4.png#pic_center)
第7、8步是一些基本配置,默认即可,第9步编译,第10步你就可以点这个看到效果了:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NjjXwpWq-1599904865361)(assets/14.png)]](https://i-blog.csdnimg.cn/blog_migrate/62cc0038f0ae7f92948642ad2b58d3dd.png#pic_center)
java.exe依照一套逻辑来寻找可以用的JRE,首先查找自己所在的目录下有没有JRE,其次查找自己的父目录下有没有JRE;最后才是查询Windows的注册表。
现在我们的程序可以在任意的计算机上执行了,可是缺点是致命的,比方说我的程序才160K,可是不论走到哪里都要背着70多M的JRE,未免有点小题大做吧,其实作为我们的私有的JRE,好多内容都是可以抛弃的。Jre目录下的license都可以不要,bin下的执行文件只需要保留java.exe或者javaw.exe,lib下只要保留rt,jsse,jce,charsets几个库就可以了。除了i386和zi两个子目录外,其余的子目录都可以不要。Zi下只需要保留自己地区的子目录和其下的一些文件就可以。Lib下除了库之外的属性文件等等都要保留。这样清理一番,JRE仍然有接近50MB。还可以继续清理几个库文件里面不需要的内容,这需要仔细的整理,会很费功夫。最好能写出一个自动工具帮助我们整理它们。从Sun公司上下到的JMF里面附带的用Java写的媒体播放器就自带了JRE,只有几个MB。
清理过后需要运行几遍我们的应用程序,以确保我们的JRE不缺少东西。
OK,仔细清理之后,文件变小了不少,可以发布了……
本文详细介绍了使用exe4j工具将Java应用程序(JAR文件)打包成可直接在Windows环境下运行的.EXE文件的过程。包括exe4j的下载、安装、注册,以及如何将JRE环境变量动态打包到EXE中,实现应用程序在任意计算机上的独立运行。
6210

被折叠的 条评论
为什么被折叠?



