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文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • IntelliJ IDEA下载GitHub私有仓库到本地的方法(新版)

    IntelliJ IDEA下载GitHub私有仓库到本地的方法(新版)

    这篇文章主要介绍了IntelliJ IDEA下载GitHub私有仓库到本地(新版),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • 带你一文深入认识Java String类

    带你一文深入认识Java String类

    这篇文章主要介绍了带你一文深入认识Java String类,String 类在Java中是很常用的类,很重要的类,在后续的学习中经常会用到,是后续学习的基础, 文章围绕主题展开更多详细内容,需要的小伙伴可以参考一下,希望对你的学习有所帮助
    2022-06-06
  • SpringBoot中忽略实体类中的某个属性不返回给前端的方法(示例详解)

    SpringBoot中忽略实体类中的某个属性不返回给前端的方法(示例详解)

    本文介绍了在Spring Boot中使用Jackson和Fastjson忽略实体类属性不返回给前端的方法,在Jackson中,同时使用@JsonProperty和@JsonIgnore时,@JsonIgnore可能失效,Fastjson中可以使用@JSONField(serialize=false)来实现,本文结合实例代码介绍的非常详细,需要的朋友参考下吧
    2024-11-11
  • java正则表达式应用的实例代码

    java正则表达式应用的实例代码

    java正则的实例应用分析,大家从下面的代码中,就能知道java正则的应用与写法
    2008-10-10
  • Java实现的生成二维码和解析二维码URL操作示例

    Java实现的生成二维码和解析二维码URL操作示例

    这篇文章主要介绍了Java实现的生成二维码和解析二维码URL操作,结合实例形式分析了Java创建与解析二维码,以及文件读写等相关操作技巧,需要的朋友可以参考下
    2018-07-07
  • Java9新特性Stream流API优化与增强

    Java9新特性Stream流API优化与增强

    这篇文章主要为大家介绍了Java9新特性Stream流API优化与增强的用法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助祝大家多多进步,早日升职加薪
    2022-03-03
  • IntelliJ Idea 2020.1 正式发布,官方支持中文(必看)

    IntelliJ Idea 2020.1 正式发布,官方支持中文(必看)

    这篇文章主要介绍了IntelliJ Idea 2020.1 正式发布,官方支持中文了,本文通过截图的形式给大家展示,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • SpringBoot+Thymeleaf静态资源的映射规则说明

    SpringBoot+Thymeleaf静态资源的映射规则说明

    这篇文章主要介绍了SpringBoot+Thymeleaf静态资源的映射规则说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • SpringMVC拦截器快速掌握下篇

    SpringMVC拦截器快速掌握下篇

    拦截器(Interceptor)是一种动态拦截方法调用的机制,在SpringMVC中动态拦截控制器方法的执行。本文将详细讲讲SpringMVC中拦截器的概念及入门案例,感兴趣的可以尝试一下
    2022-08-08
  • java学习之jar包的下载和导入

    java学习之jar包的下载和导入

    我们经常碰到有些jar包在中央仓库没有的情况,这时候我们需要导入,这篇文章主要给大家介绍了关于java学习之jar包的下载和导入的相关资料,需要的朋友可以参考下
    2023-06-06

最新评论