当前位置:首页 > Java

java 如何打包成exe

2026-02-04 20:52:06Java

使用 Launch4j 打包 Java 程序为 EXE

Launch4j 是一个跨平台工具,可以将 Java 应用程序打包为 Windows 可执行文件。它支持生成 32 位和 64 位 EXE 文件,并可以嵌入 JRE 或指定外部 JRE 路径。

下载并安装 Launch4j 后,打开其 GUI 界面进行配置:

  • 在 "Basic" 选项卡中设置输出 EXE 文件路径、Jar 文件路径和主类名
  • 在 "JRE" 选项卡中指定最小和最大 JRE 版本要求
  • 在 "Version info" 选项卡中可以添加 EXE 文件的版本信息

配置完成后点击 "Build wrapper" 生成 EXE 文件。生成的 EXE 会尝试使用系统 JRE 运行,如果找不到则会显示错误信息。

使用 JPackage 工具(JDK 14+)

JDK 14 引入了 jpackage 工具,可以直接将 Java 应用程序打包为原生安装包或可执行文件。这是目前最官方的打包方式。

基本命令格式:

jpackage --input target/ --main-jar your-app.jar --main-class com.example.Main --type exe --name MyApp --dest output/

高级选项可以指定图标、JVM 参数等:

java 如何打包成exe

jpackage --input target/ --main-jar app.jar --main-class com.example.Main --type app-image --name MyApp --dest output/ --icon app.ico --java-options "-Xmx2048m"

jpackage 会生成一个包含 JRE 的完整应用程序包,确保在没有 Java 环境的机器上也能运行。

使用 Excelsior JET 编译为原生 EXE

Excelsior JET 是一个商业工具,可以将 Java 程序编译为真正的原生可执行文件,不需要 JRE 就能运行。

使用步骤:

  1. 安装 Excelsior JET 并打开其控制台
  2. 创建新项目并指定主类和 Jar 文件
  3. 配置优化选项和目标平台
  4. 执行编译过程

这种方法生成的 EXE 文件性能接近原生代码,但编译过程可能需要调整代码以解决兼容性问题。

java 如何打包成exe

使用 GraalVM Native Image

GraalVM 提供了将 Java 程序编译为原生可执行文件的能力,支持 Windows、Linux 和 macOS。

安装 GraalVM 并设置环境变量后,使用以下命令:

native-image -jar your-app.jar --no-fallback -H:Name=output.exe

需要注意:

  • 程序可能需要调整以适应 AOT 编译限制
  • 反射、动态类加载等功能需要额外配置
  • 生成的 EXE 文件启动速度极快,但体积较大

注意事项

所有打包方法都应考虑:

  • 程序依赖的外部资源路径问题
  • JVM 参数和内存设置
  • 目标系统的位数匹配(32/64位)
  • 数字签名和安全证书
  • 安装程序制作(对于需要分发的应用)

对于商业软件,建议使用 jpackage 或 Excelsior JET 生成包含安装程序的完整分发包。开源项目可以考虑 Launch4j 或 GraalVM 方案。

标签: javaexe
分享给朋友:

相关文章

java如何

java如何

Java 基础语法 Java 是一种面向对象的编程语言,语法相对严谨。每个 Java 程序必须包含一个 main 方法作为程序入口。以下是一个简单的 Java 程序示例: public class…

如何学习java

如何学习java

学习Java的步骤 理解基础知识 从Java的基本语法开始,包括变量、数据类型、运算符、控制流(if-else、循环)等。掌握这些基础概念是后续学习的基石。 学习面向对象编程(OOP) Java是一…

如何配置java环境变量

如何配置java环境变量

下载并安装JDK 从Oracle官网或OpenJDK项目下载适合操作系统的JDK安装包。运行安装程序,按照提示完成安装,默认路径通常为C:\Program Files\Java\jdk-版本号。 配…

java如何入门

java如何入门

学习基础语法 从Java的基础语法开始,包括变量、数据类型、运算符、控制结构(if-else、for循环、while循环)等。可以通过官方文档或入门教程学习。 安装开发环境 下载并安装JDK(J…

java js实现转盘抽奖

java js实现转盘抽奖

实现转盘抽奖的步骤 HTML结构 创建转盘抽奖的基本HTML结构,包括转盘区域和抽奖按钮。 <div id="wheel"> <canvas id="wheelCanv…

java实现js

java实现js

Java 实现 JavaScript 功能 在 Java 中实现 JavaScript 功能通常涉及以下几种方法: 使用 ScriptEngine Java 提供了 javax.script 包,可…