SpringCloud踩坑
今天在使用 SpringCloud 时遇到了一个问题,感觉有不少小伙伴会遇到,所以记录下来
版本说明
SpringBoot 2.2.4.RELEASE
SpringCloud Greenwich.SR1
情景复现
在 pom.xml 中加入如下依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
启动项目后报错 The following method did not exist: org.springframework.boot.actuate.health.CompositeHealthIndicator
***************************
APPLICATION FAILED TO START
***************************
Description:
An attempt was made to call a method that does not exist. The attempt was made from the following location:
org.springframework.cloud.client.discovery.health.DiscoveryCompositeHealthIndicator.<init>(DiscoveryCompositeHealthIndicator.java:42)
The following method did not exist:
org.springframework.boot.actuate.health.CompositeHealthIndicator.<init>(Lorg/springframework/boot/actuate/health/HealthAggregator;)V
The method's class, org.springframework.boot.actuate.health.CompositeHealthIndicator, is available from the following locations:
jar:file:/Volumes/Others/MVNrepository/org/springframework/boot/spring-boot-actuator/2.2.4.RELEASE/spring-boot-actuator-2.2.4.RELEASE.jar!/org/springframework/boot/actuate/health/CompositeHealthIndicator.class
It was loaded from the following location:
file:/Volumes/Others/MVNrepository/org/springframework/boot/spring-boot-actuator/2.2.4.RELEASE/spring-boot-actuator-2.2.4.RELEASE.jar
Action:
Correct the classpath of your application so that it contains a single, compatible version of org.springframework.boot.actuate.health.CompositeHealthIndicator
问题分析
问题所在就是——版本冲突
我使用的 SpringBoot 版本是2.2.4,而 SpringCloud 版本是 Greenwich,二者的兼容还是有一定问题的,所以在启动时会报错:在 spring-boot-actuator-2.2.4.RELEASE.jar
下找不到 CompositeHealthIndicator.class
解决方法
解决方法有如下两种,我都已经测试过,这两种方法都可以解决问题
- 降级 SpringBoot
把 SpringBoot 从 2.2.4.RELEASE 降级成 2.1.4.RELEASE - 升级 SpringCloud
把 SpringCloud 从 Greenwich.SR1 升级成 Hoxton.SR1
按如上所示即可成功解决问题,小伙伴们赶紧去试一下吧~
作者:Tai-Yi
来源链接:https://www.cnblogs.com/taiyii/p/12326603.html
版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。
2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。