Java 项目打包 EXE 完整文档(含 JRE 生成 + Launch4j 配置 + 常见问题)

发布时间:2026/7/2 17:19:34
Java 项目打包 EXE 完整文档(含 JRE 生成 + Launch4j 配置 + 常见问题) 一、整体流程总览本次打包目标Java 项目 → Jar 包 → 内嵌精简 JRE → Launch4j 生成独立 EXE免安装 Java 环境完整流程IDEA/Maven 生成可执行 Jar 包使用jlink 生成精简 JRE核心步骤整理目录Jar jre 放在同一文件夹Launch4j 配置并生成 EXE拷贝使用 问题排查下载地址Launch4j Executable Wrapper - Browse /launch4j-3/3.50 at SourceForge.net二、第一步生成项目 Jar 包1. 执行 Maven 打包在 IDEA 右侧 Maven 面板执行clean → package打包成功后target目录会生成ProjectTracker-1.0.0.jar确保 Jar 包能单独运行双击或 cmd 执行java -jar xxx.jar。三、第二步生成精简 JRE重点方式一使用 JDK 自带 jlink 生成推荐体积小适用JDK9 / JDK11 /JDK17你当前使用版本1. 打开 CMD 命令行2. 进入本机 JDK 根目录cd /d D:\DevEnv\JDK\jdk173. 执行 jlink 命令生成 jrebin\jlink --module-path jmods --add-modules java.desktop,java.xml,java.datatransfer,java.prefs,java.logging --output jre参数说明--module-path jmods读取 JDK 内置模块--add-modules按需添加模块桌面程序必加java.desktop--output jre输出文件夹名必须叫 jre4. 生成结果执行完成后JDK 目录下出现文件夹D:\DevEnv\JDK\jdk17\jre这就是精简版 JRE可直接拷贝使用。方式二直接复制现有 JDK 自带 jre简单体积偏大如果不想用命令直接找到已安装 JDK 目录复制里面的jre文件夹即可。关键要求文件夹名称必须为小写 jre不能改名JRE 版本必须和编译 Jar 的 JDK 版本一致你是 JDK17 → 用 JRE17四、第三步统一打包目录结构1. 新建最终运行目录示例D:\ToDesk\ProjectTracker\2. 放入两个核心文件拷贝 Jar 包ProjectTracker-1.0.0.jar拷贝刚才生成的jre 文件夹最终目录结构ProjectTracker\ ├── ProjectTracker-1.0.0.jar └── jre\ # 精简运行环境五、第四步Launch4j 配置生成 EXE打开launch4j.exe按以下配置1. Basic 标签最容易报错Output file输出 EXE 路径必须写完整路径 .exe 后缀之前报错就是少了后缀D:\ToDesk\ProjectTracker\ProjectTracker.exeJar选择你的 jar 包D:\ToDesk\ProjectTracker\ProjectTracker-1.0.0.jar2. JRE 标签绑定内嵌 JREBundled JRE path捆绑 JRE 路径填写相对路径固定写法./jreMin JRE version填写17.0.18和你的 JRE 版本一致取消勾选JDK required可勾选64-Bit required64 位系统3. 其他标签全部保持默认无需修改。4. 生成 EXE点击顶部齿轮图标Build wrapper提示Successfully created...即成功。最终完整目录ProjectTracker\ ├── ProjectTracker.exe # 主程序 ├── ProjectTracker-1.0.0.jar └── jre\六、第五步使用方法整个ProjectTracker文件夹直接拷贝到任意 Windows 电脑双击ProjectTracker.exe即可运行目标电脑不需要安装 JDK/JRE七、本次对话所有报错 解决方案汇总问题 1Launch4j 生成失败无报错 / 路径错误原因Output file没有加.exe后缀解决路径末尾必须写xxx.exe问题 2运行 EXE 提示 找不到 JRE / No Java runtime原因 1jre文件夹名称不对大写、改名、拼写错误→ 解决严格命名为jre原因 2Launch4j 中 JRE 路径写错→ 解决固定填写./jre原因 3JRE 版本低于编译版本→ 解决Min JRE version填写对应版本如 17问题 3EXE 闪退、无法启动检查 Jar 包本身能否独立运行确认jre文件夹完整、未被杀毒软件删除目录路径不要有中文、空格、特殊符号八、精简版操作速查备忘Mavenclean package→ 得到 jarJDK 目录执行 jlink → 生成 jre新建文件夹放入 jar jreLaunch4jOutputxxx.exeJar选择 jar 包JRE 路径./jre版本17生成 EXE整包拷贝使用