Что будешь делать при конфликте библиотек и сообщении с требованием удалить одну из библиотек в Spring Boot

«Что будешь делать при конфликте библиотек и сообщении с требованием удалить одну из библиотек в Spring Boot» — вопрос из категории Spring, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Spring Boot конфликты библиотек часто возникают из-за дублирования зависимостей или несовместимых версий.

  1. Анализ конфликта:
    mvn dependency:tree
или для Gradle:
    gradle dependencies
Покажет дерево зависимостей и поможет найти дубликаты.
  1. Исключение конфликтующей зависимости:
    В Maven:
    <dependency>
        <groupId>com.example</groupId>
        <artifactId>conflicting-lib</artifactId>
        <exclusions>
            <exclusion>
                <groupId>unwanted-group</groupId>
                <artifactId>unwanted-artifact</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
В Gradle:
    implementation('com.example:some-lib') {
        exclude group: 'unwanted-group', module: 'unwanted-artifact'
    }
  1. Выбор версии явно:
    Если проблема в версиях, можно принудительно задать нужную в dependencyManagement (Maven) или resolutionStrategy (Gradle).

  2. Проверка совместимости:
    Убедись, что оставшаяся библиотека поддерживает нужный функционал.

Если конфликт критический, иногда проще перейти на альтернативную библиотеку.