Launch4j打包将jar包生成exe执行文件实践

 更新时间:2026年01月28日 15:12:36   作者:炫彩@之星  
Launch4j是一个开源工具,用于将Java应用程序的JAR包转换为Windows原生可执行文件(.exe),支持自定义图标、JRE版本绑定、启动参数配置等

一、Launch4j简介

Launch4j是一款开源工具,可将Java应用程序的JAR包转为Windows原生可执行文件(.exe),解决用户端无JRE环境时的运行问题。

其优势在于支持自定义图标、JRE版本绑定、启动参数配置等,且生成的EXE文件兼容性强。

二、环境准备

Java环境:确保本地已安装JDK/JRE,并配置好环境变量。

JAR文件:需打包的Java程序需已编译为可执行JAR(含MainClass清单)。

三、打包步骤

1、打开Launch4j,进入Basic选项卡

  • Output file:设置生成的EXE路径(如app.exe)。
  • Jar:选择待打包的JAR文件路径。
  • Icon(可选):添加EXE图标(需.ico格式)。

2、Header与Classpath选项

  • Header:选择GUI模式(窗口程序)或Console模式(命令行程序)。
  • Classpath:(选填)若依赖外部JAR,需在此添加路径(确保路径正确性)。

3、设置JRE依赖

  • Min JRE version:填写最低兼容的JRE版本。
  • Bundled JRE path:指定相对路径。
  • JVM Options:可以添加需要的参数,譬如-Dfile.encoding=UTF-8。

4、版本信息

5、生成EXE文件

  1. 保存配置:点击菜单栏保存图标(Save Configuration),保存为XML文件(便于后续修改)。
  2. 构建EXE:点击工具栏齿轮图标(Build Wrapper),生成EXE文件。

  • EXE运行时提示“找不到JRE” : 检查Bundled JRE path路径是否正确。
  • 图标未生效: 确认图标文件为.ico格式,且分辨率适配(建议256x256)。
  • 依赖包加载失败 : 在Classpath中完整添加外部JAR路径,或使用-jar参数指定主JAR。
  • 启动时报错“无效的JVM参数”: 检查JVM Options格式,避免特殊符号或空格,必要时用引号包裹参数。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Spring ComponentScan的扫描过程解析

    Spring ComponentScan的扫描过程解析

    这篇文章主要介绍了spring ComponentScan的扫描过程解析,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • Dubbo实现分布式日志链路追踪

    Dubbo实现分布式日志链路追踪

    这篇文章主要介绍了Dubbo实现分布式日志链路追踪方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • 详解Java Web如何限制访问的IP的两种方法

    详解Java Web如何限制访问的IP的两种方法

    这篇文章主要介绍了详解Java Web如何限制访问的IP的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • Java实现分页的几种方法详细解析

    Java实现分页的几种方法详细解析

    这篇文章主要介绍了Java实现分页的几种方法详细解析,在Java中想实现分页功能有几种常用的方法,今天我们就来详细解析一下,文中提供了解决思路和部分实现代码,需要的朋友可以参考下
    2023-11-11
  • Java/Spring项目的包开头为什么是com详解

    Java/Spring项目的包开头为什么是com详解

    这篇文章主要介绍了Java/Spring项目的包开头为什么是com的相关资料,在Java中包命名遵循域名反转规则,即使用公司的域名反转作为包的前缀,以确保其全球唯一性和避免命名冲突,这种规则有助于逻辑分层、代码可读性提升和标识代码来源,需要的朋友可以参考下
    2024-10-10
  • Java多线程 两阶段终止模式Two-Phase Termination Patter

    Java多线程 两阶段终止模式Two-Phase Termination Patter

    这篇文章主要介绍了Java多线程 两阶段终止模式Two-Phase Termination Patter,该模式有两个角色,分别是Terminator,终止者,负责接收终止请求,执行终止处理,处理完成后再终止自己。TerminationRequester终止请求发出者,用来向Terminator发出终止请求,需要的朋友可以参考一下
    2021-10-10
  • 详解SpringBoot如何实现多环境配置

    详解SpringBoot如何实现多环境配置

    在实际的软件开发过程中,一个应用程序通常会有多个环境,pring Boot 提供了一个非常灵活和强大的方式来管理这些环境配置,下面就跟随小编一起学习一下吧
    2023-07-07
  • MyBatis-Plus详解(环境搭建、关联操作)

    MyBatis-Plus详解(环境搭建、关联操作)

    MyBatis-Plus 是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生,今天通过本文给大家介绍MyBatis-Plus环境搭建及关联操作,需要的朋友参考下吧
    2022-09-09
  • 一篇文章带你了解Maven的继承和聚合

    一篇文章带你了解Maven的继承和聚合

    这篇文章主要为大家介绍了Maven的继承和聚合,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-01-01
  • mybatis中的字符串拼接问题

    mybatis中的字符串拼接问题

    这篇文章主要介绍了mybatis中的字符串拼接问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02

最新评论