Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.1k views
in Technique[技术] by (71.8m points)

dependencies - Gradle: how to display where a dependency conflict arises

I have a Gradle project with many dependencies, one of which is resolved as follows:

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

Version 1.1 must be a transitive dependency because I explicitly specified 1.0.2. How can I find out where this specific transitive dependency comes from?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Answering this question is the whole point of the dependencyInsight task. javax.activation:activation:1.1 is pulled in by com.sun.mail:mailapi:1.4.4 and com.sun.mail:smtp:1.4.4.

If your own code also depends on javax.activation, you can force your version with compile("javax.activation:activation:1.0.2") { force = true }. If not, you can force a version with configurations.all { resolutionStrategy.force "javax.activation:activation:1.0.2" }.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...