java程序打包成exe安装包总结

  经过很长时间的尝试,终于大致清楚了java程序打包成exe的过程,特做此总结。

  首先打包成exe文件有两种方式,一种是通过javafx本地打包的方式,参考文章https://code.makery.ch/zh-cn/library/javafx-tutorial/part7/ ,最后通过ant构建,在安装时不能选择安装目录,如图,最后在菜单栏启动。

这种方式我遇到过一些问题,在build.xml中可能会因为目录有中文乱码而最后报错,需要在有中文的地方检查确保没有乱码;另一个问题是Inno Setup好像只能安装在默认目录即c盘下并需要配置环境变量,不然最后也会报错。通过ant构建后最终生成安装程序在build/deploy/bundles下面。

  另外一种方式是通过exe4j和Inno Setup来进行打包。这种方式生成的程序可以选择安装目录,如图

这里首先需要将java程序打成jar包,然后用exe4j将jar包做成自带jre的可执行的exe程序,最后再利用Inno Setup进行包装。

用exe4j将jar包做成exe时需要注意jre的版本问题,在第四步选择生成64位,并在第六步将默认方式删掉,增加自己的jre,将jre从jdk中复制到exe文件同级目录下,如图所示

还要注意程序依赖的资源也应放在同级目录下,然后应该就没什么问题了。

这一步进行完之后可以检测看这里的exe运行起来是否和jar是相同效果,然后再用Inno Setup进行包装。

在最后一步进行包装时,一是要注意添加其他文件时注意文件目录问题,应将资源整合到一个目录下,这里我是将jre和resources整合到了

里面,如图

 然后要注意默认是没有简体中文的,需要在官网下载http://www.jrsoftware.org/files/istrans/ 

下载完放到即可。

然后等待执行完毕再output文件夹下就有安装程序了,安装完是安装目录这样。

最后给出我自己打包的整个文件。

链接:https://pan.baidu.com/s/1uoqkUhGvtIwDWYa9MkFQkQ
提取码:xmzr

原文地址:https://www.cnblogs.com/csdeblog/p/10149373.html