java程序如何打包成exe
使用 Launch4j 打包 Java 程序为 EXE
Launch4j 是一个跨平台工具,可以将 Java 程序打包为 Windows 可执行文件。它支持将 JAR 文件包装为 EXE,并提供自定义图标、JRE 捆绑等功能。
下载并安装 Launch4j 后,打开工具并配置以下关键选项:
- Output file: 指定生成的 EXE 文件路径。
- Jar: 选择需要打包的 JAR 文件。
- Icon(可选): 设置 EXE 文件的图标。
- JRE 选项卡: 指定最小和最大 JRE 版本,或绑定自定义 JRE。
配置完成后点击“Build wrapper”生成 EXE 文件。生成的 EXE 会依赖系统 JRE 或按照配置捆绑的 JRE 运行。
使用 JPackage(JDK 14+ 内置工具)
JPackage 是 JDK 14 引入的官方打包工具,支持生成原生安装包(如 EXE)。确保已安装 JDK 14 或更高版本,并在命令行中运行以下命令:

jpackage --input target/ --main-jar your-app.jar --main-class com.example.Main --name MyApp --type exe
关键参数说明:
--input: 包含 JAR 文件的目录。--main-jar: 主 JAR 文件名称。--main-class: 主类全限定名(可选,若 JAR 有 MANIFEST 可省略)。--name: 生成的应用程序名称。--type: 包类型(如exe、msi)。
JPackage 会自动生成 EXE 和配套的安装程序,支持包含 JRE 和自定义安装选项。
使用 Excelsior JET 编译为原生 EXE
Excelsior JET 是一款商业工具,可将 Java 程序编译为真正的原生 EXE,无需依赖 JRE。步骤如下:

- 安装 Excelsior JET 并打开项目。
- 导入 JAR 文件或项目代码。
- 配置编译选项(如目标平台、优化级别)。
- 编译生成独立的 EXE 文件。
此方法适合需要高性能或完全脱离 JRE 的场景,但需注意可能存在的兼容性问题。
使用 GraalVM 原生镜像
GraalVM 的 native-image 工具可将 Java 程序编译为原生可执行文件。安装 GraalVM 并执行以下命令:
native-image -jar your-app.jar --no-fallback -H:Name=myapp
生成的 myapp.exe 可直接运行。此方法对反射、动态代理等特性有限制,需额外配置。
注意事项
- 若目标机器无 JRE,需通过工具捆绑或静态编译。
- 检查程序依赖的库是否全部包含在打包文件中。
- 图标文件需为
.ico格式,分辨率建议包含多种尺寸(如 32x32、64x64)。 - 测试生成的 EXE 在不同 Windows 版本上的兼容性。
以上方法可根据需求选择,Launch4j 和 JPackage 适合快速打包,而 Excelsior JET 和 GraalVM 适合追求原生性能的场景。






