Spring Boot Dependency Management con un padre personalizado

1. Información general

Spring Boot proporciona el POM principal para facilitar la creación de aplicaciones Spring Boot.

Sin embargo, el uso del POM principal puede no ser siempre deseable, si ya tenemos uno del que heredar.

En este tutorial rápido, veremos cómo podemos seguir usando Boot sin el arrancador principal.

2. Spring Boot sin padre POM

El padre pom.xml se encarga de la dependencia y la gestión de complementos. Por esa razón, heredarlo proporciona un soporte valioso en una aplicación, por lo que generalmente es el curso de acción preferido al crear una aplicación de arranque . Puede encontrar más detalles sobre cómo crear una aplicación basada en el motor de arranque principal en nuestro artículo anterior.

Sin embargo, en la práctica, podemos estar limitados por reglas de diseño u otras preferencias para usar un padre diferente.

Afortunadamente, Spring Boot ofrece una alternativa a heredar del motor de arranque principal, que aún puede brindarnos algunas de sus ventajas.

Si no hacemos uso del POM principal, aún podemos beneficiarnos de la administración de dependencias agregando el artefacto spring-boot-dependencies con scope = import :

   org.springframework.boot spring-boot-dependencies 1.5.6.RELEASE pom import   

A continuación, podemos comenzar simplemente a agregar dependencias de Spring y hacer uso de las funciones de Spring Boot :

 org.springframework.boot spring-boot-starter-web 

Por otro lado, sin el POM principal, ya no nos beneficiamos de la gestión de complementos. Esto significa que debemos agregar el plugin spring-boot-maven-plugin explícitamente:

   org.springframework.boot spring-boot-maven-plugin   

3. Versiones de dependencia anuladas

Si queremos usar una versión diferente para una determinada dependencia a la administrada por Boot, debemos declararla en la sección dependencyManagement , antes de que se declare spring-boot-dependencies :

   org.springframework.boot spring-boot-starter-data-jpa 1.5.5.RELEASE   // ... 

Por el contrario, simplemente declarar la versión de la dependencia fuera de la etiqueta dependencyManagement ya no funcionará.

4. Conclusión

En este tutorial rápido, hemos visto cómo podemos usar Spring Boot sin el padre pom.xml.

El código fuente de los ejemplos se puede encontrar en GitHub.