本文地址:https://www.cnblogs.com/zeromi/p/14852323.html
前言
突然想到把java打包成windows上可以运行的程序,于是乎,在搜索引擎和各路博客以及官方文档的帮助下,终于实现了目标,虽然不算完美,但在这个过程中对maven打包过程,jdk打包jar的理解加深。
maven只是更方便的帮助我们打包的工具,于是开始尝试直接使用jdk打包。
接着尝试使用maven打包,再使用jpackage打包成exe安装包。
然后又希望打包成绿色版的exe(就是无需安装直接运行的),结果打包完发现文件太大,而且每次修改都要打包,时间太长。
尝试直接使用编译好的class运行java程序,修改完类就可以直接替换,无需打jar包和再次转成exe。
过程中又发现jpackage打包的整个文件有很多重复的dll文件,又发现了runtime文件夹。
想到使用jre可以直接运行java程序,又发现这些dll和jre中的文件高度重合,于是想到直接将jre和class直接打包到一起,使用脚本命令来启动java程序。
这样又使整个运行所需的文件夹大小直接减小了几十MB,打包文件从最开始的200+MB,最终缩小到了 70MB,哎,就是玩儿。
1.安装wix 3.XX
下载地址:
Release WiX Toolset v3.11.2 · wixtoolset/wix3 · GitHub
(https://github.com/wixtoolset/wix3/releases)
(https://github.com/wixtoolset/wix3/releases)
下载二进制包(wix311-binaries.zip)解压并添加根目录路径到环境变量path中(D:Programopenjdkwix)
2.打包成便携执行程序(https://ravenxrz.ink/archives/421e5ad2.html)
目录结构
在空白处按住shift,单击右键,选择“在此处打开powershell窗口”
执行
选项说明:
3.打包成安装程序
将需要打包的资源放进文件夹planewar
执行打包
选项说明:
4.在便携包(步骤2或其他类型包的安装目录)的基础上直接使用类运行程序,不使用jar包
4.1 打开"软件目录(或安装目录)/app"文件夹
4.2 使用文本编辑器打开"软件名.cfg"(例如:PlaneWar.cfg)文件并修改
修改前
修改后:
删除了"app.mainjar"项
修改"app.classpath"为app文件所在路径(即cfg文件夹路径),其他保持不变
5.直接使用windows的bat脚本或linux脚本运行java程序(自带运行环境)
5.1 将java代码相关资源放入app文件夹
5.2 生成jre运行环境(注意jdk版本需要和代码版本一致,否则可能会出错)
进入jdk根目录
输入(如果失败,尝试使用管理员身份启动powershell,再执行该命令)
生成后的jre文件夹如图
5.3 powershell手动执行命令验证是否成功
说明:
5.4
创建一个新文件夹
将jre文件夹和app文件夹移入新文件夹中
根据你的系统选择下列一种即可
Windows:
创建文本文件,重命名为run.bat,内容输入:
Linux:
创建文本文件,重命名为run.sh,内容输入:
5.5 运行脚本,成功即完成。
参考:
https://blog.csdn.net/_/article/details/
https://blog.csdn.net/_/article/details/
https://blog.csdn.net/yiminghd2861/article/details/
以及其他博客(写的时候没记录下网址)
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.bianchenghao6.com/java-jiao-cheng/16735.html