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

为何Maven打包Spring Boot项目时未包含spring-boot-starter-*.jar?

为什么Spring Boot打包后的JAR中没有spring-boot-starter-*.jar?
  • Spring Boot Starter是「依赖聚合器」:spring-boot-starter-*这类依赖本质是pom类型的依赖,它们自身不包含任何业务或功能代码,唯一的作用是帮你一次性引入某类功能所需的所有相关依赖(比如spring-boot-starter-web会自动引入spring-web、spring-webmvc、tomcat等组件)。Maven打包时只会将包含实际代码的jar类型依赖打包进最终产物,pom类型的依赖仅用于依赖传递解析,不会被打包成JAR放入最终JAR包。

  • 依赖树展示的是依赖关系链:你在依赖树中看到spring-boot-starter-*,是Maven用来展示依赖传递层级的节点,它代表这是一个依赖入口,但最终打包时,只有它所引入的那些真实功能JAR会被包含到BOOT-INF/lib目录中,starter本身不需要出现在最终产物里。

  • 验证方法:你可以解压生成的Spring Boot JAR,查看BOOT-INF/lib目录,里面必然能找到starter对应的实际功能依赖(比如spring-web.jar、spring-boot-actuator.jar等),这些就是starter帮你聚合的核心库,这完全符合Spring Boot Starter的设计初衷。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 04:22:23