Dependencies Gradle:如何显示依赖冲突发生的位置
我有一个Gradle项目,它有许多依赖项,其中一个解决方法如下:Dependencies Gradle:如何显示依赖冲突发生的位置,dependencies,gradle,conflict,Dependencies,Gradle,Conflict,我有一个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.m
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。我怎样才能找到这个特定的可传递依赖项的来源?回答这个问题是
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”}
是的,我没有意识到。是否有一种方法可以一次显示所有已解决的冲突?您可以执行configurations.all{resultionstrategy.failOnVersionConflict()}
,在这种情况下,Gradle将强制您在生成脚本中显式解决所有版本冲突。您可以通过Gradle依赖项获得一些信息。如果需要更多,可以使用gradle dependencyInsight
(用于特定依赖项)。+1。以下是完整的示例: