免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1651 | 回复: 0
打印 上一主题 下一主题

把Jar文件转成exe安装文件 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-07-07 10:13 |只看该作者 |倒序浏览
这几天女朋友叫我帮她做一个Windows平台的导出Excel文件的工具,考虑到时间问题,就选择最熟练的语言Java来实现。但是Eclipse打包出来的文件是以jar为后缀的,要想运行这个文件,必须安装jre,对于非开发的用户来说这个没有必要的,所以我准备把.jar文件转为.exe文件。

在网络上查了下,使用exe4j工具来实现转换,软件使用的基本步骤我就不说了,接下来以要创建一个32位.exe目标程序为例,讲一下可能会出现的一些问题:

1.你要清楚的目标文件是32位还是64位的,如果生成的是32位,你就要使用32位的jre,如果生成的是64位,就要使用64位的jre。

在圆圈位置进行32bit或64bit的选择。因为我要创建的是32bit,所以就使用默认的。
2.JRE的配置(没配置好的话报各种JAVA_HOME错误):

我先创建一个文件夹叫“HJ小助手”,然后把我的可执行程序limitvic1.1.jar和jre文件夹放进去,以后生成的.exe文件也放在这个目录。

点击图一中的第六项JRE的search Sequence,会出现如图所示界面:

把这三项都删掉,然后重新选择jre的目录,指定目录为“HJ小助手1.1”文件夹中的jre文件夹。如图:


这样子导出来的.exe可执行文件就可以执行,不会报如下图所示的错误了,把"HJ小助手1.1"这个文件夹发给电脑没有安装jre 的小伙伴也可以使用。

3.转化后的.exe文件无法显示图片资源。
我的项目是Swing项目,其中需要用到一些图标。因为是.exe执行文件,所以读取图片资源的时候需要用到类加载器,而不能直接使用URL地址。
  1. ImageIcon icon = new ImageIcon(ImageIO.read(getClass().getClassLoader().
  2.                     getResource("frame.png")));
复制代码
还有很重要的一点就是图片放置的文件夹必须是系统资源文件夹,不然图片获取不了,如图所示将文件夹设置为资源文件夹。

4. 既然已经生成了可运行的.exe文件,但是给别人使用的时候就要把jre文件夹也一起放进去,这样子文件夹大小似乎达到了100多兆了,可你原本的文件其实很小,所以我用Inno Setup 打包工具,把文件夹打包成一安装文件,这样子占用容量就减小了很多。Inno Setup 工具的使用方法也是十分简单,而且网络上已经可以下载到汉化版本的。这里就提一下在打包过程中的一个该注意的问题:
如图所示:添加文件夹的时候,要把jre文件夹的上一级目录添加进去,在本项目中是"HJ小助手1.1"这个文件夹,不然运行的时候找不到jre文件。

根据脚本向导步骤很快就可以生产.exe的安装文件,大小为30多兆,比原来的文件夹小多了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP