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

JPackage导出部署:非模块化程序缩减runtime文件夹体积方法

缩减jpackage生成的EXE体积方案

核心思路

默认jpackage会打包完整的Java Runtime Environment(JRE),我们可以通过生成仅包含程序依赖模块的自定义Runtime来大幅缩减体积,无需深入模块开发知识,只需三步完成:分析依赖模块 → 生成自定义Runtime → 用jpackage指定该Runtime。

步骤1:用jdeps分析程序依赖的模块

jdeps是JDK自带的工具,能自动分析Jar包依赖的Java模块。打开命令提示符(CMD),切换到program.jar所在目录,运行以下命令:

jdeps --list-deps program.jar

执行后会输出类似这样的模块列表(以Swing+Excel导出场景为例):

java.base
java.desktop
java.logging
java.sql

注:如果你的Excel导出库是模块化的,会直接列出对应模块;如果是非模块化Jar,jdeps会自动处理,只需把输出的所有模块记录下来即可。

步骤2:用jlink生成自定义Runtime镜像

用jlink工具基于上面的模块列表,生成仅包含必要组件的Runtime。运行以下命令(替换<模块列表>为你刚才得到的模块,多个模块用逗号分隔):

jlink ^
--output "C:\Users\Anon\Desktop\custom-jre" ^
--add-modules java.base,java.desktop,java.logging,java.sql ^
--strip-debug ^
--compress 2 ^
--no-header-files ^
--no-man-pages

参数说明:

  • --output:指定自定义Runtime的输出目录
  • --add-modules:指定要包含的核心模块(从jdeps结果复制)
  • --strip-debug:移除调试信息,减少体积
  • --compress 2:采用最高压缩级别压缩模块
  • --no-header-files/--no-man-pages:移除头文件和手册,进一步缩减体积

执行完成后,custom-jre目录的体积会远小于完整JRE(通常能降到30-50MB左右,具体取决于依赖模块数量)。

步骤3:修改jpackage命令,使用自定义Runtime

在原有jpackage命令基础上,添加--runtime-image参数指向我们生成的自定义Runtime,命令如下:

jpackage ^
--type app-image ^
--input "C:\Users\Anon\Desktop\input" ^
--dest "C:\Users\Anon\Desktop\output" ^
--app-version 1.0 ^
--name "Billing System" ^
--main-jar "program.jar" ^
--main-class com.billingsystem.BillingProgram ^
--runtime-image "C:\Users\Anon\Desktop\custom-jre"

运行该命令后,生成的Billing System应用镜像体积会大幅降低,Runtime部分只会包含程序真正需要的组件。

额外适配技巧

如果你的Excel导出库是非模块化的(比如旧版本POI),jdeps可能会提示unnamed module,此时可以修改jlink命令,通过--module-path指定依赖Jar路径,同时用ALL-MODULE-PATH自动包含所有依赖模块:

jlink ^
--output "C:\Users\Anon\Desktop\custom-jre" ^
--add-modules java.base,java.desktop,ALL-MODULE-PATH ^
--module-path "C:\Users\Anon\Desktop\input\lib\*" ^
--strip-debug ^
--compress 2 ^
--no-header-files ^
--no-man-pages

(假设你的依赖Jar都存放在input/lib目录下)

若要生成Windows安装程序(而非app-image),只需将--type app-image替换为--type exe即可,其他参数保持不变。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 17:40:59