J'ai un projet Gradle avec de nombreuses dépendances, dont l'une est résolue comme suit:
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 version 1.1 doit être une dépendance transitive car j'ai explicitement spécifié 1.0.2. Comment savoir d'où vient cette dépendance transitive spécifique?
Répondre à cette question est tout l'intérêt de la tâche dependencyInsight
. javax.activation:activation:1.1
Est tiré par com.Sun.mail:mailapi:1.4.4
Et com.Sun.mail:smtp:1.4.4
.
Si votre propre code dépend également de javax.activation
, Vous pouvez forcer votre version avec compile("javax.activation:activation:1.0.2") { force = true }
. Sinon, vous pouvez forcer une version avec configurations.all { resolutionStrategy.force "javax.activation:activation:1.0.2" }
.