我有一个包含许多依赖项的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。如何找出这种特定传递依赖的来源?
答案 0 :(得分:20)
回答这个问题是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" }
。