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格式,避免特殊符号或空格,必要时用引号包裹参数。

总结

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

相关文章

  • 图解Java ReentrantLock的条件变量Condition机制

    图解Java ReentrantLock的条件变量Condition机制

    想必大家都使用过wait()和notify()这两个方法把,他们主要用于多线程间的协同处理。而RenentrantLock也支持这样条件变量的能力,而且相对于synchronized 更加强大,能够支持多个条件变量,本文就来详细说说
    2022-10-10
  • SpringBoot集成Easy-Es全过程

    SpringBoot集成Easy-Es全过程

    这篇文章主要介绍了SpringBoot集成Easy-Es全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-06-06
  • JAVA比较两张图片相似度的方法

    JAVA比较两张图片相似度的方法

    这篇文章主要介绍了JAVA比较两张图片相似度的方法,涉及java针对图片像素操作的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • Java 网络编程总结

    Java 网络编程总结

    这篇文章主要给大家分享Java 网络编程的一个总结,说到网络编程肯定都会想到IP地址、端口、通信协议等一些必不可少的元素,下面来看看文章的详细介绍吧
    2021-11-11
  • Java数据结构 递归之迷宫回溯案例讲解

    Java数据结构 递归之迷宫回溯案例讲解

    这篇文章主要介绍了Java数据结构递归之迷宫回溯案例讲解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • Spring Bean生命周期之BeanDefinition的合并过程详解

    Spring Bean生命周期之BeanDefinition的合并过程详解

    这篇文章主要为大家详细介绍了Spring Bean生命周期之BeanDefinition的合并过程,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助

    2022-03-03
  • 解析使用jdbc,hibernate处理clob/blob字段的详解

    解析使用jdbc,hibernate处理clob/blob字段的详解

    本篇是对使用jdbc,hibernate处理clob/blob字段进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • Java基础知识总结之继承

    Java基础知识总结之继承

    这一篇我们来学习面向对象的第二个特征——继承,文中有非常详细的基础知识总结,对正在学习java的小伙伴们很有帮助,需要的朋友可以参考下
    2021-06-06
  • java自定义实现base64编码转换

    java自定义实现base64编码转换

    本文主要介绍了java 自定义实现base64编码转换的方法,具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • springboot如何使用@Value获取配置文件的值

    springboot如何使用@Value获取配置文件的值

    这篇文章主要介绍了springboot如何使用@Value获取配置文件的值,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08

最新评论