升级Spring Boot依赖至2.7.16后启动报错:simpleMeterRegistry创建失败
问题分析与解决
问题描述
将Spring Boot从2.3.0升级至2.7.16后,启动应用时抛出如下错误:
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'simpleMeterRegistry' defined in class path resource [org/springframework/boot/actuate/autoconfigure/metrics/export/ simple/SimpleMetricsExportAutoConfiguration.class]: Initialization of bean failed; nested exception is java.lang.NoClassDefFoundError: io/micrometer/core/instrument/binder/system/DiskSpaceMetrics
当前使用的版本:
- spring-boot-dependencies: 2.7.16
- micrometer: 1.5.1
- spring-cloud-dependencies: 2021.0.0
核心原因
- Micrometer版本不兼容:Spring Boot 2.7.x系列默认依赖Micrometer 1.9.x版本,手动指定的1.5.1版本过低,
DiskSpaceMetrics类在该低版本中的结构与Spring Boot 2.7.16的自动配置逻辑不匹配,导致类找不到异常。 - Spring Cloud版本不兼容:Spring Cloud 2021.0.0(Jubilee)对应Spring Boot 2.6.x版本,与当前使用的Spring Boot 2.7.16存在适配冲突,会加剧依赖问题。
解决步骤
- 移除手动指定的Micrometer版本,让spring-boot-dependencies自动管控Micrometer版本,保证与Spring Boot 2.7.16完全兼容。
- 将spring-cloud-dependencies升级至2022.0.x系列(Kilburn),推荐使用2022.0.5版本,确保Spring Cloud与Spring Boot版本匹配。
- 执行依赖清理命令(如Maven的
mvn clean install -U或Gradle的clean build --refresh-dependencies),重新构建应用。
内容的提问来源于stack exchange,提问作者user15499060
相关产品推荐
相关产品推荐

