Java程序打包成exe文件的完整图文教程

 更新时间:2026年04月21日 09:26:31   作者:小雪_Snow  
将Java程序打包成exe文件是一个多步骤的过程,涉及准备Java环境、项目代码,使用适当的工具进行打包,以及测试和优化生成的exe文件,这篇文章主要介绍了Java程序打包成exe文件的相关资料,需要的朋友可以参考下

准备测试程序

新建项目

引入 Spring Web依赖

在 pom 文件中把Java版本改一下

在 pom 文件中将 <skip>true</skip> 改为 <skip>false</skip>

<skip>true</skip> 设置阻止了可执行 JAR 的创建,需要修改这个配置

这两个文件夹好像是阿里云自带的,如果没有static文件夹就自己创建,然后写一个index.html

测试

运行项目

浏览器输入

http://localhost:8080

能看到这个界面说明项目成功运行

打包成JAR文件

有两种方式

第一种:使用命令行

在项目根目录打开终端

mvn clean package

这个命令会:清理之前的构建结果,编译源代码,运行测试,打包生成JAR文件

构建完成后,JAR文件会在 target 目录下

第二种:使用 IDEA 的Maven插件

双击"clean"执行清理

双击"package"执行打包

测试 jar 包

java -jar 你的JAR包.jar

例如我输入的是:java -jar target/ExeDemo-0.0.1-SNAPSHOT.jar

正常启动,记得按 Ctrl+C 停止运行

可以使用 exe4j

官网

https://www.ej-technologies.com/exe4j/download

1

现在看到的是 exe4j 的欢迎界面,点下一步

2

选择 “JAR in EXE mode”,这是最常用的模式

3

填写应用短名称(Short name of your application):给你的应用起一个名字

设置输出目录(Output directory):指定最终生成的.exe文件会保存到哪个文件夹。

4

(1)可执行文件类型(Executable type)

如果你的项目是带界面的程序:保持默认的 「GUI application」 选中即可,这样运行时不会弹出控制台黑框,体验更符合桌面应用。

如果你的项目是命令行程序:选择 「Console application」,运行时会显示控制台窗口,方便查看日志和交互。

「Service」选项:仅用于后台服务类程序,普通桌面应用无需选择。

(2)可执行文件名(Executable name)

在输入框中填写生成的 .exe 文件名,不需要带 .exe 后缀,exe4j 会自动添加。

(3) 设置图标(Icon File)

可以给 exe 文件添加自定义图标,也可以不选图标,不影响功能。

我已经验证过了,图标路径可以带中文

(4)保持默认勾选的选项

「Fail if an exception in the main thread is thrown」:默认勾选,主线程抛异常时程序会提示错误,建议保持。

「Change working directory to」:默认值「.」表示 exe 的工作目录是自身所在目录,无需修改。

我准备了一个图标

5

(1)添加可执行 JAR 到「Class path」

点击界面右侧的 绿色 “+” 按钮,然后点击「Archive」右侧的 “...” 按钮,选择之前打包好的可执行 JAR 文件。

这一步的作用是让 exe4j 知道你的 Java 程序代码和依赖在哪里。

(2)指定「Main class(主类)」

点击 Main class from右侧的 “...” 按钮,exe4j 会自动扫描你添加的 JAR 包,一定要选择JarLauncher 这个

(3) 其他选项,保持默认即可
VM Parameters:一般无需填写,除非需要设置 Java 虚拟机参数。

Bundle launcher runtime:默认勾选,保持即可,确保启动器运行时被正确打包。

Arguments for main class:如果你的 main 方法需要接收命令行参数,在这里填写;否则留空。

6

这一步是配置Java 运行时环境(JRE)的版本要求

(1)填写「Minimum version(最低版本)」

填项目中使用的 JDK 版本即可。

(2)「Maximum version(最高版本)」(可选)

一般留空即可。

(3)其他选项(保持默认)

「Allow JREs with a beta version number」:不勾选,避免测试版 JRE 带来的不稳定。

「Only allow JDKs and no JREs」:不勾选,普通用户电脑一般只装 JRE,勾选会导致程序无法运行

7

这一步是配置启动画面(Splash screen),属于可选功能

不需要启动画面,点击 “下一步” 继续即可

8

这一步是配置可执行文件的错误提示信息,默认的英文提示已经足够清晰,无需修改。直接点击 “下一步” 按钮即可

9

无需多言

10

现在已经成功将 Java 项目打包成 EXE 文件了,可以在文件夹中看到,接下来可以用以下操作:

测试运行:点击 “Click Here to Start the Application”,直接启动生成的 EXE 文件,验证程序是否能正常运行。

保存配置:点击 “Save As”,将当前的 exe4j 配置保存为文件(例如你的项目名.exe4j),方便后续修改或重新打包时复用配置。

运行之后,可以在任务管理器中看到

打开浏览器试试,exe 文件正常运行

弹窗问题

每次打开exe文件,都会弹出这么个窗口

这是因为还没有注册,去第一步注册一下就好了

注册码如下:

windows 32位版本的下载:
Windows Vista
Windows 2000/XP
Windows Server 2008
Windows Server 2003
Windows NT 4.0
Windows 98/ME
http://download.ej-technologies.com/exe4j/exe4j_windows_4_1_1.exe

通用注册码:L-g782dn2d-1f1yqxx1rv1sqd

exe4j是一个帮助你集成Java应用程序到Windows操作环境的java可执行文件生成工具,无论这些应用是用于服务器,还是图形用户界面(GUI)或命令行的应用程序。

L-g782dn2d-1f1yqxx1rv1sqd

也可以使用 Launch4j

这个软件我不会操作,就不演示了

这个软件有中文界面的版本,自己搜索下载

官网

https://launch4j.sourceforge.net/

总结

到此这篇关于Java程序打包成exe文件的文章就介绍到这了,更多相关Java程序打包exe文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Springcloud之Gateway组件详解

    Springcloud之Gateway组件详解

    Spring Cloud Gateway是Spring Cloud微服务生态下的网关组件。Spring Cloud Gateway是基于Spring 5和Spring Boot 2搭建的,本质上是一个Spring Boot应用。本文详细介绍了SpringCloud的网关组件 Gateway,,需要的朋友可以参考下
    2023-05-05
  • java开发建造者模式验证实例详解

    java开发建造者模式验证实例详解

    这篇文章主要为大家介绍了java开发中建造者模式的验证实例详解,文中附含详细示例代码,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2021-10-10
  • java复制文件和java移动文件的示例分享

    java复制文件和java移动文件的示例分享

    本文主要介绍了java将文件夹下面的所有的jar文件拷贝到指定的文件夹下面的方法,需要的朋友可以参考下
    2014-02-02
  • SpringBoot导出Excel的四种方式小结

    SpringBoot导出Excel的四种方式小结

    近期接到了一个小需求,要将系统中的数据导出为Excel,且能将Excel数据导入到系统,对于大多数研发人员来说,这算是一个最基本的操作了,本文就给大家总结一下SpringBoot导出Excel的四种实现方式,需要的朋友可以参考下
    2024-12-12
  • MyBatis Generator的简单使用方法示例

    MyBatis Generator的简单使用方法示例

    这篇文章主要给大家介绍了关于MyBatis Generator的简单使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • SpringBoot 项目使用hutool 工具进行 http 接口调用的处理方法

    SpringBoot 项目使用hutool 工具进行 http 接口调用的处理方

    在实际的开发过程中一个互联网的项目来说 ,有可能会涉及到调用外部接口的实际业务场景,下面通过本文给大家介绍SpringBoot 项目 使用hutool 工具进行 http 接口调用的处理方法,需要的朋友可以参考下
    2022-06-06
  • ES6学习笔记之新增数据类型实例解析

    ES6学习笔记之新增数据类型实例解析

    这篇文章主要介绍了ES6学习笔记之新增数据类型,结合实例形式分析了ES6数据解构赋值、新增数据类型Set集合、新增数据类型Map、Symbol类型等相关原理与操作注意事项,需要的朋友可以参考下
    2020-01-01
  • 解决ES报错Unable to parse response body for Response问题

    解决ES报错Unable to parse response body 

    在Java中调用接口向ES中添加数据时,报错:UnabletoparseresponsebodyforResponse,原因是Spring与ES版本冲突引起的报错解决方案更改ES版本或是Spring的版本,在ES高版本中,索引建立更名为数据视图,无论索引是否存在有数据都可以建立索引模式
    2026-03-03
  • Intellij Idea插件开发之创建项目层级的右键菜单

    Intellij Idea插件开发之创建项目层级的右键菜单

    这篇文章主要介绍了Intellij Idea插件开发之创建项目层级的右键菜单,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • Java停止线程的3种方法

    Java停止线程的3种方法

    这篇文章主要分享Java停止线程的3种方法,分别是自定义中断标识符,停止线程、使用线程中断方法interrupt停止线程、使用stop停止线程。下文详细介绍需要的小伙伴可以参考一下
    2022-05-05

最新评论