升级Spring Boot 2.1.0 Spring Cloud Greenwich.M1 版本后,在2个Feign接口类内定义相同的名字, @FeignClient(name = 相同的名字 就会出现报错,在之前的版本不会提示报错,报错内容为The bean ‘XXX.FeignClientSpecification’, defined in null, could not be registered. A bean with that name has already been defined in null and overriding is disabled. 」

这是说Feign的注册,有同名的feign的名字重复注册。

解决办法就是将Feign调用,相同的name也就是跨服务调用,同一个服务的接口,不要分散的写在多个接口类中,而是放到同一个接口类中定义调用。

或在配置文件中进行配置:

在yml文件中配置如下代码即可:
main:
allow-bean-definition-overriding: true

spring:
  main:
    allow-bean-definition-overriding: true  # 后来发现的bean会覆盖之前相同名称的bean
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐