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

Spring Boot Maven插件执行mvn clean package未自动生成分层Jar包问题

问题解决步骤

第一步:验证分层配置是否生效

你对分层Jar的结构存在认知偏差,开启分层配置后不会直接在可执行Jar的根目录生成四个分层文件夹,而是会在Jar内新增BOOT-INF/layers.idx分层索引文件,四个分层需要通过专用命令提取。
执行如下命令检查配置是否生效:

jar tf target/[你的可执行Jar文件名].jar | grep layers.idx

如果能正常输出BOOT-INF/layers.idx,说明分层配置已经生效,直接跳到第三步提取分层即可。

第二步:配置未生效的排查方案

如果没有找到layers.idx文件,按以下顺序排查:

  • 确认spring-boot-maven-plugin的版本与Spring Boot依赖版本完全一致,推荐通过继承spring-boot-starter-parent父Pom统一管理版本,不要单独为插件指定不一致的版本号
  • 如果你是多模块项目,需要将插件的分层配置写在需要打可执行Jar的子模块Pom中,而不是仅在父Pom的pluginManagement节点中声明
  • 检查执行打包命令时是否添加了-Dspring-boot.repackage.skip=true这类跳过插件执行的参数,这类参数会导致可执行Jar生成逻辑被跳过

第三步:提取分层目录

执行官方提供的分层提取命令,即可得到你预期的四个分层目录:

java -Djarmode=layertools -jar target/[你的可执行Jar文件名].jar extract

命令执行完成后,当前工作目录会直接生成dependencies、spring-boot-loader、snapshot-dependencies、application四个目录,可直接用于Docker镜像分层构建。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 14:45:03