SpringCloud,SpringBoot,Mybatis整合时,启动项目,遇到一个错误:
2019-02-13 15:38:02.393 INFO 7512 --- [ main] ConditionEvaluationReportLoggingListener :
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2019-02-13 15:38:02.395 ERROR 7512 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter :
***************************
APPLICATION FAILED TO START
***************************
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
Disconnected from the target VM, address: '127.0.0.1:14424', transport: 'socket'
Process finished with exit code 1
排查后发现是由于SpringCloud,SpringBoot的版本对应有问题,我原本的版本如下:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.2.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.java4all</groupId>
<artifactId>user-server</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>user-server</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
<spring-cloud.version>Finchley.SR2</spring-cloud.version>
</properties>
springboot是2.1.2,springcloud是Finchley.SR2,这种对应是有问题的。后来在https://start.spring.io上生成时,当选择springboot版本为2.1.2时,官方新建的项目springcloud版本为Greenwich.RELEASE。建议新建项目时,使用此网站来创建,官方来匹配对应的依赖版本。