Java使用IDEA、exe4j、inno setup 生成exe可执行文件以及安装包
一、IDEA生成JAR包
exe4j 下载地址:exe4j Download
1、基础配置
IDEA中 按住Ctrl+Shift+Alt+S,或者 File -->Project Structure,弹出配置框
2、配置JAR包的内容
Module:选择项目Module。
Main Class:选择程序入口Class。
选择copy to the output directory and link via manifest (选中拷贝manifest文件)。
第四步需要注意:需要改成 \src\main\resources 这个路径,这样你生成的jar配置里面才会有manifest 文件,这应该算是 IDEA 的一个bug,你放在其他目录的时候生成的jar配置是不会包含manifest文件的。
3、依赖包的配置
右键< outoutput root >,
新建文件夹libs,
将第三方的依赖包拖入这个文件夹中,
(原来的依赖包位置是和新建的文件夹libs同级下,需要把这些依赖全部拖入到libs这个文件夹里,要确保不要有重复依赖,否则到时候程序启动的时候会报错)。
4、一个非常重要的操作
点击你要生成的JAR(步骤1),
底部有一个Class Path(步骤2),
我们要在原有的路径上加上libs的路径(依赖前全部添加 libs/ )(步骤3),
为什么要改这个,因为我们把依赖包放入了libs目录下,如果不改动你的jar是无法引用到你的依赖包的,会报错 ClassNotFoundException。
5、所有的配置已经完成
保存后,在IDEA 中 Build --> Build Artifacts --> Build 执行这个Build 之后就可以在out目录下找到生成的jar包了。打包jar 就大功告成。
二、使用Exe4j 生成 exe可执行文件
exe4j 激活码:L-g782dn2d-1f1yqxx1rv1sqd
没有激活的话运行可执行文件会有弹窗:this executable was created with an evaluation version of exe4j
1、准备生成EXE可执行文件
在上一步打包JAR包的时候,我们可以再文件目录里面找到生成的JAR包,只要电脑安装了JDK环境,就已经可以运行了,现在我们要生成exe可执行文件。
2、Exe4j的配置
打开Exe4j 软件,直接从引导的步骤三开始操作,第一个是你的应用名称,第二个是你生成的JAR包目录地址,第三个是生成exe的存放地址,这里需要特别注意:( . )代表的是当前目录
3、Exe4j的其他配置
Icon File 可以选择自己应用的图标,(.ico格式的)也可以不选择,
配置是否需要在64位下运行,选择32bit-64bit 然后 勾选按钮就可以。
4、配置exe文件的入口
第一配置编码格式:-Dfile.encoding=UTF-8
然后选择jar包,这个地方要特别注意,选择的路径一定要是基于你第一步选择的jar目录,然后配置成相对路径,一定不能用绝对路径,这也是我踩得一个坑,不然发给别人之后会发现找不到程序路口class类。
5、配置exe运行的jre环境一
如果你的exe 文件不携带jre,也就是说依赖安装环境预先安装jdk,你只需要配置 min jdk 就行
6、配置exe运行的jre环境二
如果你的程序中需要携带jre,也就是你不依赖别人的环境,你就可以直接运行,你就需要配置你的jre相对路径,注意这个路径一定要是相对路径,再次强调相对路径,
(可以找一份jre放到和libs同级目录下即可,然后在这一部选择jre的路径)
7、生成exe运行文件
接下来的一些步骤,都选择默认的就行。最后就会生成exe文件,生成exe运行文件就完成了。
三、使用 inno setup 生成 exe 安装文件
1、创建项目
创建一个新的项目 File -- New 输入应用名称等相关信息
2、配置 exe 的路径
配置 exe 的路径,相关运行文件所在的目录,
这里要注意第一步是配置exe文件的路径,第二部是配置exe文件执行所需要的文件的包地址,
也就是我们生成的jar包的路径,他会包jar 中的所有文件都会拷贝到安装文件中。
3、许可证文件及安装前后所显示的信息
这些都可以空着直接下一步:
4、选择管理员安装模式
5、没有中文选项选择英文就行
下一步导出即可,全部完成
时间仓促,如有错误欢迎指出,欢迎在评论区讨论,如对您有帮助还请点个推荐、关注支持一下
作者:博客园 - 凉年技术
出处:http://www.cnblogs.com/xxhxs-21/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文链接,否则保留追究法律责任的权利。
若内容有侵犯您权益的地方,请公告栏处联系本人,本人定积极配合处理解决。