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

Spring Boot 3.2.x中spring-boot-configuration-processor被Maven排除问题咨询

Spring Boot 3.x中spring-boot-configuration-processor不再纳入Fat Jar的机制说明

核心原因:官方设定的依赖规则变更

Spring Boot 3.x对spring-boot-configuration-processor的依赖定位和打包逻辑做了明确调整,这是官方的有意设计,目的是精简应用运行时依赖。

具体排除机制

  • 依赖角色定义:该处理器被明确标记为仅编译/IDE辅助工具,仅用于生成配置元数据供IDE提示使用,完全不参与应用运行时逻辑。因此Spring Boot 3.x的构建插件会默认将其从运行时依赖中排除,无论你是否在pom.xml中设置scope=provided。
  • spring-boot-maven-plugin自动过滤:插件内部维护了默认的排除列表,其中包含org.springframework.boot:spring-boot-configuration-processor,在执行repackage目标构建fat jar时,会自动跳过该依赖的打包,即使手动指定scope也不会覆盖这个默认规则。
  • 对比Spring Boot 2.x差异:在2.x版本中,插件对provided scope依赖的过滤逻辑不够严格,导致该处理器可能被意外纳入fat jar,但这并非官方推荐的行为,3.x版本修正了这个问题,明确了这类工具依赖的处理方式。

官方文档相关说明

Spring Boot 3.x官方文档中明确提到:spring-boot-configuration-processor是可选的编译期依赖,仅用于开发阶段生成配置元数据,运行时不需要包含在应用包中。构建插件会自动处理这类依赖的排除,以减少最终fat jar的体积。

补充建议

  • 不建议强制将该处理器纳入fat jar,这只会增加无用的依赖体积,没有任何运行时价值。
  • 代码中对org.springframework.boot.configurationprocessor.json包下类的引用,建议替换为Jackson、Gson等成熟的JSON处理库,这些类原本就是处理器内部的简易实现,并非官方推荐的运行时JSON解决方案。

内容的提问来源于stack exchange,提问作者Kona Laxman Deepak

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 20:12:40