Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Java: maven, exclusion

Как исключить транзитивную зависимость из pom.xml?

Как исключить транзитивную зависимость из pom.xml?

Короткий ответ

Транзитивную зависимость можно исключить через секцию exclusions.
Исключение указывается у той зависимости, которая её подтягивает.
Это позволяет убрать ненужную или конфликтующую библиотеку.
Исключение не влияет на другие зависимости напрямую.
Такой подход используется для тонкой настройки classpath

Длинный ответ

В Maven зависимости образуют дерево, и управлять им можно точечно.

Определение

Exclusion — это механизм Maven, позволяющий исключить конкретную транзитивную зависимость.

Базовый пример

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <exclusions>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </exclusion>
    </exclusions>
</dependency>

В этом случае:

  • spring-boot-starter-tomcat не попадёт в итоговый classpath

  • остальная цепочка зависимостей сохранится

Когда это нужно

  • конфликт версий библиотек

  • замена реализации (например, Tomcat → Jetty)

  • удаление лишних зависимостей

Важный момент

Исключение нужно указывать там, откуда зависимость приходит, иначе оно не сработает.

Вывод

exclusions — основной инструмент управления транзитивными зависимостями в Maven.

Уровень

  • Рейтинг:

    5

  • Сложность:

    6

Навыки

  • Java

    Java

Ключевые слова

#maven

#exclusion

Подпишись на Java Developer в телеграм