我在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>
答案 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
它将分析该构建中发生的问题。很整洁。