当前位置:首页 > Java

java 如何打包成exe

2026-04-09 05:08:29Java

使用 Launch4j 打包 Java 为 EXE

Launch4j 是一个跨平台工具,可以将 Java 应用程序打包为 Windows 可执行文件(EXE)。它提供了图形界面和命令行支持。

下载并安装 Launch4j,打开后配置以下关键参数:

  • Output file:指定生成的 EXE 文件路径
  • Jar:选择需要打包的 JAR 文件
  • Icon(可选):设置 EXE 的图标
  • Min JRE version:指定最低要求的 Java 版本

在 JRE 选项卡中设置 Java 运行环境要求:

  • Bundled JRE path:可指定打包的 JRE 路径
  • JRE min version:设置最低 JRE 版本

生成 EXE 后,它会自动查找系统 JRE 或使用打包的 JRE 运行程序。

使用 JPackage(JDK 14+)

JPackage 是 JDK 自带的打包工具,可以生成原生安装包和可执行文件。

jpackage --input target/ --name MyApp --main-jar myapp.jar --main-class com.example.Main --type exe --win-console

常用参数说明:

  • --input:包含 JAR 文件的目录
  • --name:应用程序名称
  • --main-jar:主 JAR 文件
  • --main-class:主类(可选)
  • --type:包类型(exe/msi)
  • --win-console:保留控制台窗口

JPackage 会生成包含 JRE 的完整安装包,适合分发。

java 如何打包成exe

使用 Excelsior JET

Excelsior JET 是一个商业工具,可以将 Java 程序编译为原生可执行文件。

安装后使用命令行或 GUI:

  1. 创建新项目并选择主类
  2. 配置优化级别和目标平台
  3. 选择打包模式(安装包或独立 EXE)
  4. 构建项目生成 EXE 文件

Excelsior JET 的优势是性能优化和反编译保护,但需要商业许可。

使用 GraalVM Native Image

GraalVM 提供了将 Java 编译为本地可执行文件的能力。

java 如何打包成exe

安装 GraalVM 并配置环境后:

native-image -jar myapp.jar -H:Name=myapp.exe

生成的 EXE 文件不依赖 JVM,但有以下限制:

  • 反射需要额外配置
  • 动态类加载可能受限
  • 应用启动时间较长

注意事项

打包 EXE 时需要考虑 Java 运行时:

  • 可以捆绑 JRE 增加文件体积
  • 依赖系统 JRE 需要用户预装
  • 最小化 JRE 可减小包大小

安全考虑:

  • 代码混淆保护知识产权
  • 数字签名增加可信度
  • 确保符合分发许可

调试建议:

  • 保留原始 JAR 文件便于更新
  • 测试不同 Windows 版本兼容性
  • 检查依赖项是否完整打包

标签: javaexe
分享给朋友:

相关文章

如何学java

如何学java

学习Java的基础知识 Java是一门面向对象的编程语言,掌握基础语法是入门的关键。需要了解变量、数据类型、运算符、控制结构(如if-else、for循环、while循环)、数组等概念。可以通过官方文…

java如何输入数组

java如何输入数组

输入数组的方法 在Java中,可以通过多种方式输入数组,具体取决于输入源(如控制台、文件等)和数组类型(如基本类型或对象类型)。以下是几种常见的方法: 使用Scanner从控制台输入 对于基本数据类…

java如何返回数组

java如何返回数组

返回数组的方法 在Java中,可以通过多种方式返回数组。以下是几种常见的方法: 直接返回数组 定义一个方法,返回类型为数组类型,直接在方法内部创建并返回数组。 public int[] getI…

php 实现 java md5加密

php 实现 java md5加密

PHP 实现 Java MD5 加密 Java 和 PHP 的 MD5 加密结果可能存在差异,主要由于字符编码和输出格式的不同。以下是确保 PHP 与 Java MD5 加密结果一致的方法。 确保字…

php 实现java md5加密

php 实现java md5加密

PHP 实现 Java MD5 加密的兼容方法 Java 和 PHP 的 MD5 加密结果可能存在差异,主要因字符编码或输出格式不同。以下是确保两者结果一致的方法: 使用 hash 函数并处理编码…

java实现js

java实现js

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