Acabo de experimentar un caso de dos dependencias directas de mi proyecto maven que tiene dos versiones diferentes de una dependencia transitiva particular.Maven - Detectar múltiples versiones de la misma dependencia
En mi caso particular tuve dependencias directas sobre lo siguiente:
<dependency>
<groupId>org.jclouds.driver</groupId>
<artifactId>jclouds-sshj</artifactId>
<version>${jclouds.version}</version>
</dependency>
y
<dependency>
<groupId>org.mule.modules</groupId>
<artifactId>mule-module-jersey</artifactId>
<version>${mule.version}</version>
</dependency>
Ambas dependencias tenían un (profundidad) en dependencia transitiva com.sun.jersey: Jersey -core, pero con diferentes versiones para cada uno. Maven no falló en esto ni siquiera advirtió (o si lo hizo, ¡nunca lo vi!) Que tal cosa estaba sucediendo ... y como tal, nunca me di cuenta hasta que desapareció un problema que ocurrió cuando la versión de jersey- núcleo provocado por la dependencia jclouds causó algunas cosas para romper.
¿Existe un plugin maven o alguna otra herramienta que exista que detecte este tipo de cancelación de dependencia transitiva profunda y al menos advierta al usuario (o falle la ejecución del experto) si detecta tal colisión ... incluso si el el comportamiento predeterminado de maven es simplemente elegir la primera versión que aparece al resolver dependencias?
esto parece ser exactamente lo que estaba buscando. No pensé en consultar el plugin de enforcer para esto. – whaley