zoukankan      html  css  js  c++  java
  • 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

    解决方法

    解决方法有如下两种,我都已经测试过,这两种方法都可以解决问题

    1. 降级 SpringBoot
      把 SpringBoot 从 2.2.4.RELEASE 降级成 2.1.4.RELEASE
    2. 升级 SpringCloud
      把 SpringCloud 从 Greenwich.SR1 升级成 Hoxton.SR1

    按如上所示即可成功解决问题,小伙伴们赶紧去试一下吧~

  • 相关阅读:
    spring+redis+nginx 实现分布式session共享
    nginx 中location和root,你确定真的明白他们关系?
    idea设置自定义快捷键
    jsp 页面导出excel时字符串数字变成科学计数法的解决方法
    Linux 查看tomcat占用的端口号
    mybatis 单一参数时的动态语句
    cxf + spring + maven 开发webservice
    Vim 快捷键
    vim与windows/linux之间的复制粘贴小结
    在Linux中执行.sh脚本,异常
  • 原文地址:https://www.cnblogs.com/taiyii/p/12326603.html
Copyright © 2011-2022 走看看