SpringcloudAlibaba使用Sentinel 和 Feign 集成时启动报错

项目中使用SpringcloudAlibaba依赖版本为:

<!--spring cloud alibaba 2.1.0.RELEASE-->
      <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-alibaba-dependencies</artifactId>
        <version>2.1.0.RELEASE</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
   <!--spring cloud Hoxton.SR1-->
      <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-dependencies</artifactId>
        <version>Hoxton.SR1</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>

启动时报错:

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'echoController': Unsatisfied dependency expressed through field 'echoService'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.jmlee.hello.sentinel.feign.service.EchoService': FactoryBean threw exception on object creation; nested exception is java.lang.AbstractMethodError: com.alibaba.cloud.sentinel.feign.SentinelContractHolder.parseAndValidateMetadata(Ljava/lang/Class;)Ljava/util/List;

出现这个原因 笔者找了相关资料也经过自己测试,发现是因为依赖版本里面存在着部分bug也可能是依赖版本不对应,吧cloudalibaba依赖版本升至 <version>2.2.0.RELEASE</version> 启动正常。

建议参照官方依赖版本对应关系说明 链接:https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E

部分截图:

这时又出现了一个问题使用@RestController注解返回给浏览器是json格式的数据变成了XML格式,于是我把cloudalibab依赖又升了一个小版本<version>2.2.1.RELEASE</version> 返回JSON格式正常

 


版权声明:本文为qq_36614559原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。