Spring组件版本兼容咨询:升级spring-boot-starter-security后项目无法启动
Spring Boot Security Starter版本兼容问题解答
核心问题原因
你遇到的启动失败本质是版本严重不兼容:
- Spring Boot的
spring-boot-starter-security属于官方starter组件,这类组件的版本必须与Spring Boot核心版本严格保持一致,不能单独跨大版本升级。 - 你当前使用的Spring Boot 2.0.1.RELEASE对应的Spring Security版本是2.0.1.RELEASE,而2.7.8版本的
spring-boot-starter-security依赖的是Spring Framework 5.3.x系列、Spring Security 5.7.x系列,与你当前的Spring Framework 5.0.5.RELEASE在API、依赖结构上差异极大,必然导致启动失败。
兼容性查询方式
Spring Boot官方有明确的版本依赖对应关系,无需零散对照表:
- 每个Spring Boot版本都会绑定一套固定版本的生态组件(包括Spring Framework、Spring Security等),这些对应关系可在官方文档的版本说明中获取。
- 典型对应示例:
- Spring Boot 2.0.1.RELEASE → Spring Framework 5.0.5.RELEASE、Spring Security 2.0.1.RELEASE
- Spring Boot 2.7.8.RELEASE → Spring Framework 5.3.25、Spring Security 5.7.7
解决建议
- 若要使用
spring-boot-starter-security:2.7.8,必须同步将Spring Boot核心版本升级到2.7.8,此时Spring Framework会通过Spring Boot的parent pom依赖管理自动升级到兼容版本。 - 由于是从2.0.x跨版本升级到2.7.x,需仔细查阅Spring Boot和Spring Security各中间版本的迁移指南,处理API废弃、配置变更等问题(比如Spring Security中
WebSecurityConfigurerAdapter在2.7版本已被标记为废弃,推荐使用SecurityFilterChain替代)。
内容的提问来源于stack exchange,提问作者RedMurloc
相关产品推荐
相关产品推荐

