128

我在Gradle 文档中读到了这条评论:

To deal with problems due to version conflicts, reports with dependency graphs
are also very helpful. Such reports are another feature of dependency management.

我有某种罐子被带进来,但我需要弄清楚它是从哪里来的。通常我会全局排除它,但我需要一些关于这里层次结构的信息。我如何从 Ivy 和 Maven 获得这些信息?

更不用说有人将 Hibernate jars(很多)带入了我的 jar 列表,我真的很想知道是谁,因为我没有使用 Hibernate 并试图消除这种依赖关系。

4

9 回答 9

138

该命令是gradle dependencies,并且它的输出在 Gradle 1.2 中得到了很大改进。(您今天已经可以尝试 1.2-rc-1。)

于 2012-09-05T20:37:43.113 回答
128

啊,因为我的主项目中没有依赖项,所以“gradle依赖项”只列出了那些而不是子项目依赖项,所以正确的命令最终是

 gradle :<subproject>:dependencies

所以对我来说这是

 gradle :master:dependencies
于 2012-09-05T21:14:25.877 回答
41

如果您想查看项目和所有子项目在顶级 build.gradle 中使用的依赖关系:

subprojects {
    task listAllDependencies(type: DependencyReportTask) {}
}

然后调用gradle:

gradle listAllDependencies
于 2015-04-16T09:55:00.120 回答
26

如果你有很多配置,输出可能会很长。要仅显示运行时配置的依赖项,请运行

gradle dependencies --configuration runtime
于 2015-08-25T15:21:53.280 回答
18

如果你想递归包含子项目,你总是可以自己写:

粘贴到顶层build.gradle

task allDeps << {
    println "All Dependencies:"
    allprojects.each { p ->
        println()
        println " $p.name ".center( 60, '*' )
        println()
        p.configurations.all.findAll { !it.allDependencies.empty }.each { c ->
            println " ${c.name} ".center( 60, '-' )
            c.allDependencies.each { dep ->
                println "$dep.group:$dep.name:$dep.version"
            }
            println "-" * 60
        }
    }
}

运行:

gradle allDeps
于 2014-08-10T09:11:46.650 回答
8
gradlew -q :app:dependencies > dependencies.txt

将所有依赖项写入文件dependencies.txt

于 2019-03-01T09:25:57.233 回答
4

对于那些希望在react-native项目中调试 gradle 依赖项的人来说,命令是(从 执行projectname/android

./gradlew app:dependencies --configuration compile
于 2017-12-30T04:24:25.660 回答
0
  1. 列出所有依赖项:gradle yourmodule:dependencies > dep.txt.
  2. 如果您需要列出特定有问题的依赖项出现在您的项目中的位置/根: gradle -q dependencyInsight --dependency commons-io --configuration runtimeClasspathcommons-io您的依赖项在哪里。
于 2022-01-06T14:24:14.017 回答
-1

在最新版本的 Gradle(即 5+)中,如果您使用--scan标志运行构建,它会在您可以点击的浏览器中告诉您各种有用的信息,包括依赖项。

gradlew --scan clean build

它将分析该构建中发生的事情的废话。这很整洁。

于 2019-05-07T03:25:27.333 回答