Java项目打包成EXE全攻略

一、使用 exe4j 打包 Java 项目

exe4j 的官方网站是 https://www.ej-technologies.com/products/exe4j/overview.html。

准备 Java 项目 确保 Java 项目已编译为可执行的 JAR 文件,并确认所有依赖项(如第三方库)已正确包含在 JAR 中或位于同一目录下。

下载并安装 exe4j 从 exe4j 官网下载并安装 exe4j,安装完成后启动 exe4j 向导。

配置 exe4j 在 exe4j 向导中选择"JAR in EXE"模式,填写应用程序名称和输出目录。指定主类路径和 JAR 文件路径,确保勾选"Allow JAR files to be started directly"选项。

设置 JRE 要求 在"JRE"选项卡中配置最低和最高 JRE 版本,可以勾选"Search sequence"选项以指定 JRE 的搜索路径(如捆绑 JRE 或系统路径)。

生成 EXE 文件 完成配置后,点击"Build"按钮生成 EXE 文件。生成的 EXE 文件将位于指定的输出目录中。

二、使用 Inno Setup Compiler 创建安装程序

访问 Inno Setup 的官方网站可通过以下链接:
https://jrsoftware.org/isinfo.php

准备安装文件 将生成的 EXE 文件、依赖的 JAR 文件、资源文件(如图片、配置文件)以及 JRE(如果需要捆绑)整理到一个目录中。

下载并安装 Inno Setup 从 Inno Setup 官网下载并安装 Inno Setup Compiler,启动后选择"Create a new script file using the Script Wizard"。

配置安装程序信息 在向导中填写应用程序名称、版本、发布者等信息,指定输出安装程序的目录和文件名。

添加文件和目录 在"Application files"页面添加主 EXE 文件、依赖文件及 JRE 目录(如果需捆绑)。在"Application shortcuts"页面配置桌面和开始菜单快捷方式。

设置安装选项 配置安装程序的默认安装目录、是否需要管理员权限、是否添加卸载程序等选项。可以自定义安装界面语言和样式。

编译脚本并生成安装程序 完成向导后保存脚本文件(.iss),点击"Compile"按钮生成安装程序(.exe)。生成的安装程序将位于输出目录中。

注意事项

在 IntelliJ IDEA 中打包 JAR 文件

方法 1:通过 Artifacts 配置打包可执行 JAR

打开项目后,导航至 File > Project Structure > Artifacts。点击 + 按钮,选择 JAR > From modules with dependencies。

在配置界面中,选择主类(包含 main 方法的类),并指定输出目录。勾选 Build on make 选项,确保每次构建时自动生成 JAR。

返回 IDEA 主界面,点击 Build > Build Artifacts,选择刚才创建的 Artifact 并点击 Build。生成的 JAR 文件会出现在配置的输出目录中。

方法 2:使用 Maven 插件打包

对于 Maven 项目,在 pom.xml 中添加 maven-assembly-plugin 或 maven-shade-plugin。以下是配置示例:

复制代码
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>3.3.0</version>
            <configuration>
                <archive>
                    <manifest>
                        <mainClass>com.example.Main</mainClass>
                    </manifest>
                </archive>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
            </configuration>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>single</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

方法 3:使用 Gradle 插件打包

对于 Gradle 项目,在 build.gradle 中添加以下配置:

复制代码
plugins {
    id 'java'
}

jar {
    manifest {
        attributes 'Main-Class': 'com.example.Main'
    }
    from {
        configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
    }
}

执行 gradle build 后,JAR 文件会生成在 build/libs 目录中,包含所有依赖项。

注意事项

  • 如果项目依赖外部库,确保选择正确的方式(如 jar-with-dependencies)打包。
  • 检查生成的 MANIFEST.MF 文件是否包含正确的 Main-Class 属性。
  • 对于复杂项目,推荐使用构建工具(Maven/Gradle)管理依赖和打包流程。

JRE 捆绑

若目标机器可能没有安装 JRE,建议将 JRE 打包到安装程序中,并在 exe4j 中配置优先使用捆绑的 JRE。

问题1:版本问题,重新下载满足条件的JDK即可

问题2:

需要添加一个Jre的环境变量。检查你的环境变量,有没有添加或者添加是否正确!

依赖管理 确保所有依赖项(如 DLL 文件、本地库)包含在安装包中。
测试安装程序 在多种环境下测试安装程序,确保其兼容性和功能完整性。