本文主要是介绍SpringCloud踩坑之 The following method did not exist,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
今天在使用 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;)VThe 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.classIt 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.jarAction: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
这篇关于SpringCloud踩坑之 The following method did not exist的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!