Repaso
English
Maven, Git y SDLCIntermedioVCS-08

¿Para qué sirven <parent> y <dependencyManagement> (BOM) en un pom?

Opciones

  1. Nombrar el proyecto y listar todos sus módulos
  2. Centralizar versiones para que los módulos sean coherentes (Opción correcta)
  3. Ejecutar los tests más rápido con threads paralelos
  4. Publicar el proyecto en Git en cada build

Respuesta

Centralizar las versiones para que muchas dependencias y módulos sean coherentes sin repetir números de versión

Por qué

<parent>: tu pom hereda la configuración de otro pom. spring-boot-starter-parent fija los valores por defecto de los plugins y las versiones de dependencias.

<dependencyManagement>: lista las versiones en un sitio. Los hijos y las dependencias omiten entonces <version>. Un BOM (Bill of Materials) es un pom que solo hace esto, como spring-boot-dependencies; lo importas y obtienes un conjunto probado de versiones compatibles.

Ventajas: menos conflictos, un solo sitio para actualizar, proyectos multimódulo alineados.

<parent>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-parent</artifactId>
  <version>3.3.0</version>
</parent>

Recuerda

Pom padre o BOM = un sitio que decide las versiones.

Términos clave

Practica esta pregunta en Repaso