如何把java打包成exe
使用 Launch4j 工具打包
Launch4j 是一个跨平台工具,可以将 Java 应用程序打包为 Windows 可执行文件(.exe)。它支持嵌入 JRE,确保在没有 Java 环境的机器上运行。
下载并安装 Launch4j,打开后配置以下参数:
- Output file:指定生成的 .exe 文件路径。
- Jar:选择需要打包的 Java JAR 文件。
- Min JRE version:设置最低 JRE 版本要求。
- Icon(可选):为 .exe 文件添加自定义图标。
勾选 Wrap JAR 选项以确保 JAR 文件嵌入到 .exe 中。点击 Build wrapper 生成可执行文件。
使用 JPackage(JDK 14+)
JPackage 是 JDK 14 引入的官方工具,支持将 Java 应用打包为原生可执行文件,包括 Windows 的 .exe 格式。
确保 JDK 14 或更高版本已安装,运行以下命令:
jpackage --input target/ --name MyApp --main-jar myapp.jar --main-class com.example.Main --type exe
- --input:指定包含 JAR 文件的目录。
- --name:设置生成的 .exe 文件名。
- --main-jar:指定主 JAR 文件。
- --main-class(可选):指定主类(如果 JAR 清单未定义)。
- --type:指定输出类型为
exe。
JPackage 会自动打包依赖项,并可选择包含自定义 JRE。
使用 Excelsior JET 编译为原生代码
Excelsior JET 是一个商业工具,能将 Java 应用编译为原生机器码,生成真正的 .exe 文件,无需 JRE。
安装 Excelsior JET 后,使用其图形界面或命令行工具:
- 创建新项目,选择主 JAR 文件。
- 配置编译选项(如目标平台、优化级别)。
- 选择 Build 生成原生 .exe 文件。
此方法性能更高,但需要商业许可。
使用 Inno Setup 创建安装包
若需分发包含 JRE 的完整安装包,可使用 Inno Setup 工具。先将 JAR 和 JRE 打包,再通过脚本生成安装程序。
示例脚本(.iss 文件):
[Setup]
AppName=MyJavaApp
AppVersion=1.0
DefaultDirName={pf}\MyJavaApp
OutputDir=output
OutputBaseFilename=MyJavaApp_Setup
[Files]
Source: "myapp.jar"; DestDir: "{app}"
Source: "jre\*"; DestDir: "{app}\jre"; Flags: recursesubdirs
[Icons]
Name: "{group}\My App"; Filename: "{app}\jre\bin\javaw.exe"; Parameters: "-jar ""{app}\myapp.jar"""
编译脚本后,生成包含 JRE 和 .exe 启动器的安装程序。

注意事项
- 若目标机器无 Java 环境,建议嵌入 JRE 或使用 JPackage/Excelsior JET。
- 检查依赖项是否完整打包,避免运行时缺失类库。
- 测试生成的 .exe 文件在不同 Windows 版本上的兼容性。






