当前位置:首页 > Java

java如何创建exe

2026-03-23 03:22:48Java

使用 Launch4j 将 Java 程序打包为 EXE

Launch4j 是一个跨平台工具,可以将 Java 应用程序包装为 Windows 可执行文件。它生成一个原生 EXE 启动器,自动查找和捆绑 JRE。

下载并安装 Launch4j 后,打开工具并配置以下基本选项:

  • Output file:指定生成的 EXE 文件路径(如 C:\output\MyApp.exe)。
  • Jar:选择你的应用程序 JAR 文件。
  • Min JRE version:设置最低要求的 JRE 版本(如 1.8.0)。

JRE 选项卡中,可以指定 JRE 的搜索路径或捆绑自定义 JRE。勾选 Bundled JRE path 并填写相对路径(如 ./jre),确保目标机器无需预装 Java。

使用 JPackage(JDK 14+)

JPackage 是 JDK 自带的打包工具,支持生成包含 JRE 的 EXE 安装包。以下是一个基本命令示例:

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

关键参数说明:

  • --input:包含 JAR 文件的目录。
  • --main-jar:主 JAR 文件名。
  • --main-class:主类全限定名(可选,若 JAR 有 Manifest 则不需要)。
  • --type:指定输出类型为 exe

添加 --win-console 可保留控制台窗口。若要生成安装程序,使用 --win-dir-chooser 允许用户选择安装目录。

使用 Excelsior JET 进行编译

Excelsior JET 是一款商业工具,能将 Java 程序编译为原生 EXE,无需 JRE。安装后通过以下步骤操作:

java如何创建exe

在项目目录运行初始化命令:

jetcli --init

编辑生成的 jetproject 文件,指定主类和依赖项。编译命令:

jetcli --build jetproject

生成的 EXE 默认位于 ./jet/build 目录。此方法适合性能敏感型应用,但需注意部分动态特性(如反射)可能需要额外配置。

通过 Inno Setup 创建安装包

若需分发包含 JRE 的完整安装包,可用 Inno Setup 打包:

java如何创建exe

  1. 准备目录结构:

    /dist
      /app
        myapp.jar
      /jre
        (JRE 文件)
  2. 编写 Inno Setup 脚本(.iss 文件):

    
    [Setup]
    AppName=MyApp
    OutputDir=output
    OutputBaseFilename=MyAppSetup
    DefaultDirName={pf}\MyApp

[Files] Source: "app\myapp.jar"; DestDir: "{app}" Source: "jre*"; DestDir: "{app}\jre"; Flags: recursesubdirs

[Icons] Name: "{group}\MyApp"; Filename: "{app}\jre\bin\java.exe"; Parameters: "-jar ""{app}\myapp.jar"""


3. 使用 Inno Setup 编译器生成安装程序,用户安装后将自动包含私有 JRE。

### 注意事项

- JRE 依赖:除非使用 Excelsior JET 或捆绑 JRE,否则目标机器需安装匹配版本的 Java。
- 控制台应用:GUI 程序应确保配置为不显示控制台窗口(Launch4j 中取消勾选 Header type 的 `console`)。
- 签名:为 EXE 文件添加代码签名证书可避免安全警告,使用工具如 Signtool:
  ```bash
  signtool sign /f mycert.pfx /p password /t http://timestamp.digicert.com MyApp.exe

每种方法适用于不同场景:开发测试推荐 Launch4j,正式分发建议 JPackage 或 Inno Setup,高性能需求考虑 Excelsior JET。

标签: javaexe
分享给朋友:

相关文章

java如何使用

java如何使用

Java 基本使用方法 Java 是一种广泛使用的编程语言,适用于开发各种类型的应用程序。以下是 Java 的基本使用方法,包括环境配置、语法基础和常用操作。 安装 Java 开发环境 下载并安装…

java如何处理高并发

java如何处理高并发

Java处理高并发的方法 使用多线程和线程池 Java的java.util.concurrent包提供了线程池(如ThreadPoolExecutor)和并发工具类(如CountDownLatch、C…

如何阅读java源码

如何阅读java源码

阅读Java源码的方法 选择合适的源码项目 初学者建议从JDK核心类库(如java.lang、java.util)或知名开源项目(如Spring、Guava)入手。选择文档完善、社区活跃的项目能降低理…

如何启用java

如何启用java

启用 Java 的方法 检查 Java 是否已安装 在命令行或终端输入 java -version,如果显示版本信息,说明 Java 已安装。若未安装,需从 Oracle 官网 或 OpenJDK 下…

java如何返回数组

java如何返回数组

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

如何精通java

如何精通java

理解Java核心概念 Java的基础知识包括数据类型、变量、运算符、控制流语句(如循环和条件判断)、数组以及面向对象编程(OOP)的核心概念(类、对象、继承、多态、封装)。熟练掌握这些内容是后续学习的…