dependencies - support - Gradle: cómo mostrar dónde surge un conflicto de dependencia
conflict with dependency support annotations (1)
Tengo un proyecto de Gradle con muchas dependencias, una de las cuales se resuelve de la siguiente manera:
gradle dependencyInsight --configuration compile --dependency javax.activation
:dependencyInsight
javax.activation:activation:1.1 (conflict resolution)
+--- com.sun.mail:mailapi:1.4.4
| /--- compile
/--- com.sun.mail:smtp:1.4.4
/--- compile
javax.activation:activation:1.0.2 -> 1.1
/--- compile
La versión 1.1 debe ser una dependencia transitiva porque especifiqué explícitamente 1.0.2. ¿Cómo puedo saber de dónde viene esta dependencia transitiva específica?
Responder a esta pregunta es el punto central de la tarea dependencyInsight
. javax.activation:activation:1.1
se com.sun.mail:mailapi:1.4.4
mediante com.sun.mail:mailapi:1.4.4
y com.sun.mail:smtp:1.4.4
.
Si su propio código también depende de javax.activation
, puede forzar su versión con compile("javax.activation:activation:1.0.2") { force = true }
. Si no, puede forzar una versión con configurations.all { resolutionStrategy.force "javax.activation:activation:1.0.2" }
.