Назад к вопросам
СБЕР
Junior — Middle
62
Какая разница существует между блоками dependencyManagement и dependencies в файле конфигурации проекта?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
В Maven (системе сборки для Java) блоки <dependencyManagement> и <dependencies> имеют разные назначения:
-
<dependencyManagement>— используется для централизованного управления версиями и настройками зависимостей. В этом блоке вы объявляете зависимости с их версиями, но они не добавляются автоматически в проект. Это удобно для управления версиями в многомодульных проектах. -
<dependencies>— здесь указываются зависимости, которые непосредственно подключаются к проекту и будут включены в сборку.
Пример:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.3.10</version>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<!-- версия не указывается, берется из dependencyManagement -->
</dependency>
</dependencies>
Таким образом, <dependencyManagement> задает версии и настройки, а <dependencies> — фактические зависимости проекта.