对于体量较小GUI项目来说,最好的发布方式莫过于打包成 exe 文件了,这里记录下 JDK 9+ 项目打包成 exe 的思路,日后有时间再慢慢研究。
打包流程
1. 项目带依赖打包成jar包
maven带依赖打包 jar 包……
2. jdeps分析模块依赖
利用jdk9+的 jdeps 工具分析 jar 包依赖,去除重复依赖减小 jar 包体积……
3. jlink制作运行时镜像
利用jdk9+的 jlink 工具制作二进制的运行时镜像,去除不必要的 jdk 组件,进一步减小体积……
4. exe4j打包exe
exe4j 加壳打包exe……
优点
- 单个 exe 文件,无需安装;
- 包体积远小于官方提供的 jPackage 工具制作出的安装包安装后的大小;
- 将class文件加壳封装,不明显暴露,破解难度加大;
- 无需安装 JRE 和 javaFX 环境,自带运行时镜像(根据项目精简后的 JRE 和 javaFX 运行环境)。
参考链接
jdeps oracle官网文档:https://docs.oracle.com/en/java/javase/11/tools/jdeps.html
jlink oracle官网文档:https://docs.oracle.com/en/java/javase/11/tools/jlink.html