什么是Gradle工件依赖图命令?

时间:2012-09-05 19:05:56

标签: gradle

我在Gradle docs

中读到了这条评论
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 jar(很多)放入我的jar列表中,我真的想知道是谁,因为我没有使用Hibernate,并试图减少这种依赖。 < / p>

8 个答案:

答案 0 :(得分:117)

命令为gradle dependencies,其输出在Gradle 1.2中有很大改进。 (你今天已经可以尝试1.2-rc-1了。)

答案 1 :(得分:114)

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

 gradle :<subproject>:dependencies

所以对我来说这是

 gradle :master:dependencies

答案 2 :(得分:35)

如果要查看项目的依赖项,并且所有子项目都在顶级build.gradle中使用:

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

然后打电话给gradle:

gradle listAllDependencies

答案 3 :(得分:20)

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

gradle dependencies --configuration runtime

答案 4 :(得分:13)

如果您希望递归包含子项目,您可以自己编写它:

粘贴到顶级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

答案 5 :(得分:4)

对于那些希望在if( false === input_filter(INPUT_POST, FILTER_VALIDATE_EMAIL) ) { echo "error message"; } $email = input_filter(INPUT_POST, FILTER_SANITIZE_EMAIL ); // to do somethink with email... 项目中调试gradle依赖项的人,该命令是(从react-native执行)

projectname/android

答案 6 :(得分:4)

gradlew -q :app:dependencies > dependencies.txt

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

答案 7 :(得分:0)

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

gradlew --scan clean build

它将分析该构建中发生的问题。很整洁。