Java项目打包成EXE全攻略
<p></p><h2 id="一使用-exe4j-打包-java-项目">一、使用 exe4j 打包 Java 项目</h2>
<p>exe4j 的官方网站是 https://www.ej-technologies.com/products/exe4j/overview.html。</p>
<p><strong>准备 Java 项目</strong> 确保 Java 项目已编译为可执行的 JAR 文件,并确认所有依赖项(如第三方库)已正确包含在 JAR 中或位于同一目录下。</p>
<p><strong>下载并安装 exe4j</strong> 从 exe4j 官网下载并安装 exe4j,安装完成后启动 exe4j 向导。</p>
<p><strong>配置 exe4j</strong> 在 exe4j 向导中选择“JAR in EXE”模式,填写应用程序名称和输出目录。指定主类路径和 JAR 文件路径,确保勾选“Allow JAR files to be started directly”选项。</p>
<p><strong>设置 JRE 要求</strong> 在“JRE”选项卡中配置最低和最高 JRE 版本,可以勾选“Search sequence”选项以指定 JRE 的搜索路径(如捆绑 JRE 或系统路径)。</p>
<p><strong>生成 EXE 文件</strong> 完成配置后,点击“Build”按钮生成 EXE 文件。生成的 EXE 文件将位于指定的输出目录中。</p>
<h2 id="二使用-inno-setup-compiler-创建安装程序">二、使用 Inno Setup Compiler 创建安装程序</h2>
<p>访问 Inno Setup 的官方网站可通过以下链接:<br>
https://jrsoftware.org/isinfo.php</p>
<p><strong>准备安装文件</strong> 将生成的 EXE 文件、依赖的 JAR 文件、资源文件(如图片、配置文件)以及 JRE(如果需要捆绑)整理到一个目录中。</p>
<p><strong>下载并安装 Inno Setup</strong> 从 Inno Setup 官网下载并安装 Inno Setup Compiler,启动后选择“Create a new script file using the Script Wizard”。</p>
<p><strong>配置安装程序信息</strong> 在向导中填写应用程序名称、版本、发布者等信息,指定输出安装程序的目录和文件名。</p>
<p><strong>添加文件和目录</strong> 在“Application files”页面添加主 EXE 文件、依赖文件及 JRE 目录(如果需捆绑)。在“Application shortcuts”页面配置桌面和开始菜单快捷方式。</p>
<p><strong>设置安装选项</strong> 配置安装程序的默认安装目录、是否需要管理员权限、是否添加卸载程序等选项。可以自定义安装界面语言和样式。</p>
<p><strong>编译脚本并生成安装程序</strong> 完成向导后保存脚本文件(.iss),点击“Compile”按钮生成安装程序(.exe)。生成的安装程序将位于输出目录中。</p>
<h2 id="注意事项">注意事项</h2>
<h3 id="在-intellij-idea-中打包-jar-文件">在 IntelliJ IDEA 中打包 JAR 文件</h3>
<h4 id="方法-1通过-artifacts-配置打包可执行-jar">方法 1:通过 Artifacts 配置打包可执行 JAR</h4>
<p>打开项目后,导航至 File > Project Structure > Artifacts。点击 + 按钮,选择 JAR > From modules with dependencies。</p>
<p>在配置界面中,选择主类(包含 main 方法的类),并指定输出目录。勾选 Build on make 选项,确保每次构建时自动生成 JAR。</p>
<p>返回 IDEA 主界面,点击 Build > Build Artifacts,选择刚才创建的 Artifact 并点击 Build。生成的 JAR 文件会出现在配置的输出目录中。</p>
<h4 id="方法-2使用-maven-插件打包">方法 2:使用 Maven 插件打包</h4>
<p>对于 Maven 项目,在 pom.xml 中添加 maven-assembly-plugin 或 maven-shade-plugin。以下是配置示例:</p>
<pre><code><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>
</code></pre>
<h4 id="方法-3使用-gradle-插件打包">方法 3:使用 Gradle 插件打包</h4>
<p>对于 Gradle 项目,在 build.gradle 中添加以下配置:</p>
<pre><code>plugins {
id 'java'
}
jar {
manifest {
attributes 'Main-Class': 'com.example.Main'
}
from {
configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
}
}
</code></pre>
<p>执行 gradle build 后,JAR 文件会生成在 build/libs 目录中,包含所有依赖项。</p>
<h4 id="注意事项-1">注意事项</h4>
<ul>
<li>如果项目依赖外部库,确保选择正确的方式(如 jar-with-dependencies)打包。</li>
<li>检查生成的 MANIFEST.MF 文件是否包含正确的 Main-Class 属性。</li>
<li>对于复杂项目,推荐使用构建工具(Maven/Gradle)管理依赖和打包流程。</li>
</ul>
<h3 id="jre-捆绑">JRE 捆绑</h3>
<p>若目标机器可能没有安装 JRE,建议将 JRE 打包到安装程序中,并在 exe4j 中配置优先使用捆绑的 JRE。<br>
问题1:版本问题,重新下载满足条件的JDK即可<br>
问题2:<br>
<img src="https://img2024.cnblogs.com/blog/3684158/202508/3684158-20250829234248961-1046809279.jpg"><br>
需要添加一个Jre的环境变量。检查你的环境变量,有没有添加或者添加是否正确!<br>
<img src="https://img2024.cnblogs.com/blog/3684158/202508/3684158-20250829234316395-36709380.jpg"><br>
<strong>依赖管理</strong> 确保所有依赖项(如 DLL 文件、本地库)包含在安装包中。<br>
<strong>测试安装程序</strong> 在多种环境下测试安装程序,确保其兼容性和功能完整性。<br>
</p><br><br>
来源:https://www.cnblogs.com/Saintwaters/p/19065349
頁:
[1]