逆着光行走 發表於 2025-8-29 23:44:00

Java项目打包成EXE全攻略

<p>​</p>
<h2 id="一使用-exe4j-打包-java-项目">一、使用 exe4j 打包 Java 项目</h2>
<p>exe4j 的官方网站是&nbsp;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 &gt; Project Structure &gt; Artifacts。点击 + 按钮,选择 JAR &gt; From modules with dependencies。</p>
<p>在配置界面中,选择主类(包含 main 方法的类),并指定输出目录。勾选 Build on make 选项,确保每次构建时自动生成 JAR。</p>
<p>返回 IDEA 主界面,点击 Build &gt; 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>&lt;build&gt;
    &lt;plugins&gt;
      &lt;plugin&gt;
            &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
            &lt;artifactId&gt;maven-assembly-plugin&lt;/artifactId&gt;
            &lt;version&gt;3.3.0&lt;/version&gt;
            &lt;configuration&gt;
                &lt;archive&gt;
                  &lt;manifest&gt;
                        &lt;mainClass&gt;com.example.Main&lt;/mainClass&gt;
                  &lt;/manifest&gt;
                &lt;/archive&gt;
                &lt;descriptorRefs&gt;
                  &lt;descriptorRef&gt;jar-with-dependencies&lt;/descriptorRef&gt;
                &lt;/descriptorRefs&gt;
            &lt;/configuration&gt;
            &lt;executions&gt;
                &lt;execution&gt;
                  &lt;phase&gt;package&lt;/phase&gt;
                  &lt;goals&gt;
                        &lt;goal&gt;single&lt;/goal&gt;
                  &lt;/goals&gt;
                &lt;/execution&gt;
            &lt;/executions&gt;
      &lt;/plugin&gt;
    &lt;/plugins&gt;
&lt;/build&gt;
</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]
查看完整版本: Java项目打包成EXE全攻略