Gradle: как отображать, где возникает конфликт зависимости
У меня есть проект Gradle со многими зависимостями, один из которых разрешен следующим образом:
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
Версия 1.1 должна быть транзитивной зависимостью, потому что я явно указал 1.0.2. Как я могу узнать, откуда эта конкретная переходная зависимость?
Ответы
Ответ 1
Ответ на этот вопрос - это цель задачи dependencyInsight
. javax.activation:activation:1.1
втягивается com.sun.mail:mailapi:1.4.4
и com.sun.mail:smtp:1.4.4
.
Если ваш собственный код также зависит от javax.activation
, вы можете заставить свою версию с compile("javax.activation:activation:1.0.2") { force = true }
. Если нет, вы можете заставить версию с configurations.all { resolutionStrategy.force "javax.activation:activation:1.0.2" }
.