Spring Boot升级至2.7.13启动报错:HealthIndicatorAutoConfiguration类未找到
解决Spring Boot 2.7.13升级时
HealthIndicatorAutoConfiguration类找不到的问题 问题根源
Spring Boot 2.4及以上版本对Actuator的健康检查自动配置做了重构,原org.springframework.boot.actuate.autoconfigure.health.HealthIndicatorAutoConfiguration类被移除,其功能拆分到了HealthContributorAutoConfiguration等多个细分配置类中。升级时出现类找不到的错误,本质是旧版本的依赖或代码引用了已废弃移除的类。
修复方案
- 统一Actuator依赖版本:确保
spring-boot-starter-actuator的版本和Spring Boot 2.7.13完全一致,避免依赖版本混乱。
Maven配置示例:
Gradle配置示例:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> <version>2.7.13</version> </dependency>implementation 'org.springframework.boot:spring-boot-starter-actuator:2.7.13' - 替换旧类引用:检查项目代码、配置文件中是否有直接引用
HealthIndicatorAutoConfiguration的地方,全部替换为新版本对应的类(比如HealthContributorAutoConfiguration)。如果是自定义扩展该类的逻辑,需要适配新的配置类结构。 - 清理依赖缓存:执行命令清理本地依赖缓存,避免旧版本依赖残留:
# Maven mvn clean install -U # Gradle gradle clean build --refresh-dependencies - 检查自动配置排除项:如果项目中用
@SpringBootApplication(exclude = ...)或配置文件排除过Actuator相关配置,确认排除的是2.7.x版本中存在的类,不要排除已不存在的HealthIndicatorAutoConfiguration。
额外注意
如果项目依赖了第三方starter或自定义starter,要确认这些依赖是否适配Spring Boot 2.7.x。部分旧starter可能仍在引用废弃类,这时需要升级对应的starter版本,或者手动排除其中的旧Actuator依赖。
内容的提问来源于stack exchange,提问作者Ravi sinha
相关产品推荐
相关产品推荐

