Maven Dependency Tree y librerías

El concepto de Maven Dependency Tree es uno de los conceptos fundamentales a la hora de trabajar con dependencias en Maven . ¿Para que sirve el Maven dependency Tree y cómo podemos usarlo en nuestras aplicaciones para clarificar las dependencias que nuestros proyectos Maven tienen?. Vamos a verlo partiendo de una aplicación que ya dispone de un conjunto de dependencias definidas con Spring Boot.

Estas dependencias en nuestro caso son Starters de Spring Boot y los starters simplemente son packages que contienen otro grupo de dependencias muy amplio.

Estas dependencias que serán Starters que a su vez pueden contener otras dependencias ya sean otros Starters u otras librerías .Esto a nivel de Maven es lo que se denomina dependencias transitivas ya que unas Librerias en una versión X necesitan otras Librerías en versión Y para poder funcionar correctamente. En Eclipse podemos ver esta estructura de dependencias de forma sencilla a traves de la pestaña de DependencyTree que nos aparece en el fichero pom.xml.

De esta manera es mucho más sencillo clarificar que Librerías realmente estamos usando en nuestro proyecto así como sus versiones especificas sobre todo en situaciones en las que nos sorprenda que tal Librería o tal otra no soporta x capacidades ya que su versión no es la correcta.

Fuente