详细错误:
*************************** 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:/C:/Users/zhao/.m2/repository/org/springframework/boot/spring-boot-actuator/2.2.0.M1/spring-boot-actuator-2.2.0.M1.jar!/org/springframework/boot/actuate/health/CompositeHealthIndicator.class It was loaded from the following location: file:/C:/Users/zhao/.m2/repository/org/springframework/boot/spring-boot-actuator/2.2.0.M1/spring-boot-actuator-2.2.0.M1.jar Action: Correct the classpath of your application so that it contains a single, compatible version of org.springframework.boot.actuate.health.CompositeHealthIndicator
这个问题是springboot 和 springcloud 版本号不一致的问题
比如我的(我的是错误的)就是:
SpringBoot 2.2.4.RELEASE
SpringCloud Greenwich.SR1
解决方法
解决方法有如下两种,我都已经测试过,这两种方法都可以解决问题
- 降级 SpringBoot
把 SpringBoot 从 2.2.4.RELEASE 降级成 2.1.4.RELEASE - 升级 SpringCloud
把 SpringCloud 从 Greenwich.SR1 升级成 Hoxton.SR1