树挪死,人挪活。
大城市小人物,生活最终会把你变成你讨厌的人。
项目启动异常如下:
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2019-12-31 10:12:56.134 ERROR 9812 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter :
***************************
APPLICATION FAILED TO START
***************************
Description:
The bean 'dataSource', defined in class path resource [com/xxxxx/xxxxx/framework/configure/Config2Druid.class], could not be registered. A bean with that name has already been defined in class path resource [com/alibaba/druid/spring/boot/autoconfigure/DruidDataSourceAutoConfigure.class] and overriding is disabled.
Action:
Consider renaming one of the beans or enabling overriding by setting spring.main.allow-bean-definition-overriding=true
Disconnected from the target VM, address: 'javadebug', transport: 'shared memory'
Process finished with exit code 1
解决办法:
第一种:网上找到的
main:
allow-bean-definition-overriding: true #当遇到同样名字的时候,是否允许覆盖注册
解释:有相同bean,添加会做覆盖操作,不然就将springboot降版本,上面的代码添加至yml的spring节点下。
第二种解决办法:网上写的不全,都是复制粘贴,在这里贴一下
@SpringBootApplication(exclude = {DruidDataSourceAutoConfigure.class, DataSourceAutoConfiguration.class})
解释:相同bean不止一个,在启动类上添加两个移除类,即可解决。
备注:
本问题springboot版本:
<springboot.version>2.1.6.RELEASE</springboot.version>
druid版本:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.18</version>
</dependency>