You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将.jar打包为内置JRE的独立可执行.exe文件?

将Jar打包为内嵌JRE的独立EXE方案

Launch4j本身确实没法直接把JRE塞进单个EXE,但有几种办法能实现你要的单文件、无外部JRE依赖的效果:

1. Launch4j + 7-Zip自解压包

  • 先用Launch4j生成依赖同目录JRE的EXE,把EXE和JRE文件夹放在同一目录下
  • 用7-Zip创建自解压压缩包,设置解压后自动运行生成的EXE,同时把解压路径指定为系统临时目录(比如%TEMP%)
  • 可以配置自解压脚本,让程序运行结束后自动删除临时文件,避免残留文件占用空间

2. 用Excelsior JET(商业工具)

这是专门做Java转原生EXE的商业工具,能直接把Jar和所需JRE组件编译成单一的原生EXE。它会把Java字节码转成机器码,同时内嵌必要的JRE部分,生成的EXE双击就能跑,完全不需要用户装JRE。唯一缺点是需要付费,不过有试用版可以先测试效果。

3. JDK自带的jpackage(JDK16+)

JDK16及以后自带的jpackage工具可以直接生成包含JRE的分发包:

  • 基础命令示例:jpackage --type exe --input . --main-jar your-app.jar --runtime-image <你的JRE路径>
  • 默认生成的EXE会和JRE文件夹放在一起,要是想做成单文件,可以把整个目录打包成自解压包,或者用第三方工具合并成单个EXE。JDK17+版本的jpackage对单文件分发的支持更完善。

4. JSmooth(开源工具)

这是个老牌开源Java转EXE工具,支持直接把JRE内嵌到EXE里。在配置界面选"Bundle JRE"选项,指定你的JRE路径,工具会把JRE打包进生成的EXE,运行时自动提取到临时目录执行,用户不用额外装JRE。

内容的提问来源于stack exchange,提问作者Bartolini

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 08:20:07