Как решить "bean-компонент 'dataSource', определенный в BeanDefinition, определенный в ресурсе пути к классу"? - PullRequest
0 голосов
/ 10 мая 2019

Приложения-прототипы My Spring microservices не могут запускаться со следующими сообщениями:

***************************
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

Зависимости приложений следующие:

dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-security'

implementation 'org.springframework.boot:spring-boot-starter-webflux'
compileOnly 'org.projectlombok:lombok'
runtimeOnly 'org.springframework.boot:spring-boot-devtools'
runtimeOnly 'com.h2database:h2'
annotationProcessor 'org.projectlombok:lombok'

implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.cloud:spring-cloud-starter-config'
implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client'

testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'io.projectreactor:reactor-test'
testImplementation 'org.springframework.security:spring-security-test'
}

Я предполагаю, что оба data-jpaи h2 идут с источником данных.У меня раньше была похожая комбинация без этой проблемы.Я предполагаю, что проблему можно решить, исключив источник данных в одной из зависимостей.После некоторого поиска в Интернете я не нашел, как это работает.

Есть предложения?

1 Ответ

0 голосов
/ 10 мая 2019

Вы можете добавить в свой основной класс следующее:

@ EnableAutoConfiguration (exclude = {DataSourceAutoConfiguration.class}) *

...