Что такое транзитивные зависимости в Maven?
Транзитивные зависимости — это зависимости зависимостей. Если библиотека A использует библиотеку B, Maven подключит B автоматически. Разработчику не нужно явно указывать все вложенные зависимости. Это упрощает конфигурацию проекта. Однако может приводить к конфликтам версий.
Maven умеет автоматически подтягивать зависимости не только первого уровня, но и всю их цепочку.
Транзитивная зависимость — это зависимость, которая подключается в проект автоматически, потому что она требуется другой зависимостью.
Перед перечислением важно понять: Maven строит граф зависимостей.
Указывается в pom.xml
Явно добавляется разработчиком
Подключается автоматически
Не указывается напрямую
Используется библиотекой из проекта
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
Подключается starter
Maven подтягивает Jackson, Tomcat и другие библиотеки
Разработчик их не перечисляет вручную
Меньше конфигурации
Быстрый старт проекта
Централизованное управление
Конфликты версий
Подключение лишних библиотек
Сложность отладки dependency graph
Транзитивные зависимости упрощают работу с библиотеками, но требуют понимания, какие версии реально используются в проекте.