Junior — Middle
105
¿Cuál es la diferencia entre los bloques dependencyManagement y dependencies en el archivo de configuración del proyecto?
Empresas donde se preguntó
Respuesta de la IA
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> — фактические зависимости проекта.