Конфликт имени компонента Spring-boot между двумя зависимыми клиентами дооснащения - PullRequest
0 голосов
/ 05 марта 2020

Моё приложение maven springboot зависит от двух клиентов Retrofit, код которых я не контролирую. Оба этих клиента имеют класс @Configuration с именем ClientConfig. Когда я пытаюсь запустить свое приложение, я получаю эту ошибку:

ConflictingBeanDefinitionException: Annotation-specified bean name 'clientConfig' for bean class [a.b.c.client.config.ClientConfig] conflicts with existing, non-compatible bean definition of same name and class [a.b.c.config.ClientConfig]

Как я могу это исправить? Есть ли способ, которым я могу переопределить имена бинов для этих классов? Это моя maven конфигурация:

<dependency>
    <groupId>a.b</groupId>
    <artifactId>lib1-client</artifactId>
    <version>1.0.0</version>
</dependency>
<dependency>
    <groupId>a.b</groupId>
    <artifactId>lib2-client</artifactId>
    <version>1.2.55</version>
</dependency>

1 Ответ

0 голосов
/ 05 марта 2020

Единственное, о чем я мог подумать, это исключить их из проверки компонентов:

@SpringBootApplication
@ComponentScan(excludeFilters = {"a.b.lib1-client",...})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...