¿Qué es una dependencia transitiva?
Opciones
- Una dependencia que cambia muy a menudo entre versiones
- Una librería que no declaraste, traída por otra (Opción correcta)
- Una dependencia que solo se usa al ejecutar los tests
- Una librería escrita en otro lenguaje de programación
Respuesta
Una librería que no declaraste, traída porque una de tus dependencias la necesita
Por qué
Si tu proyecto depende de la librería A, y A depende de B, Maven también descarga B por ti: B es una dependencia transitiva.
Es cómodo, pero puede causar conflictos de versión cuando dos librerías necesitan versiones distintas de C. Maven lo resuelve con "gana la definición más cercana": la versión más próxima a tu proyecto en el árbol de dependencias.
Inspecciona el árbol con mvn dependency:tree; excluye o fija versiones con <exclusions> o dependencyManagement.
mvn dependency:treeRecuerda
Transitiva = dependencias de tus dependencias.