查找对传递依赖项的不需要的代码依赖性

时间:2013-09-19 15:02:28

标签: gradle

我想找到我在Gradle中未包含为顶级依赖项的库的所有Java代码依赖项。

我的第一个关于如何实现这一点的方法是关闭Gradle中的所有传递依赖项,看看我得到了什么编译错误。

从我的研究中,这样做的方式似乎是:

configurations.all { transitive = false }

有更好的方法,还是这样做?

1 个答案:

答案 0 :(得分:1)

我不确定我是否理解这个问题,但命令行“gradle dependencies”可能有所帮助。

例如,考虑一下(来自this modest project):

dependencies {
    groovy 'org.codehaus.groovy:groovy-all:1.6.4'
    groovy 'com.google.guava:guava-collections:r03'
    releaseJars 'org.codehaus.groovy:groovy-all:1.6.4'
    releaseJars 'com.google.guava:guava-collections:r03'
}

使用gradle dependencies提供输出,例如:

compile - Classpath for compiling the main sources.
+--- org.codehaus.groovy:groovy-all:1.6.4
|    +--- junit:junit:3.8.2
|    +--- org.apache.ant:ant:1.7.1
|    |    \--- org.apache.ant:ant-launcher:1.7.1
|    +--- org.apache.ant:ant-launcher:1.7.1
|    \--- jline:jline:0.9.94
|         \--- junit:junit:3.8.1 -> 3.8.2
\--- com.google.guava:guava-collections:r03
     +--- com.google.guava:guava-annotations:r03
     \--- com.google.guava:guava-primitives:r03

....