The bean 'dataSource',could not be registered.A bean with that name has already been defined

问题:

往SpringCloud的注册中心里注册服务时启动SpringBoot项目抛出异常

Description:

The bean 'dataSource', defined in BeanDefinition defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class], could not be registered. A bean with that name has already been defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class] and overriding is disabled.

Action:

Consider renaming one of the beans or enabling overriding by setting spring.main.allow-bean-definition-overriding=true


Process finished with exit code 1

原因:

SpringBoot和SpringCloud的版本不兼容造成。

解决方案:

在配置文件application.yml中添加两行配置信息即可,配置如下:
The bean 'dataSource',could not be registered.A bean with that name has already been defined_第1张图片

main:
    allow-bean-definition-overriding: true #当遇到同样名字的时候,是否允许覆盖注册

再次启动服务,测试OK
The bean 'dataSource',could not be registered.A bean with that name has already been defined_第2张图片

我们发现user-service服务已经注册成功了

你可能感兴趣的:(异常)