确定传递依赖的来源

Edw*_*rzo 34 gradle

我有一个项目,我使用sl4j与log4j.我最近为我的项目添加了一些新的依赖项,我添加的其中一个新依赖项包括对logback-classic的传递依赖,其中包括sj4j的另一个绑定.

我想摆脱logback,但我不知道我的哪些直接依赖项添加了传递依赖项,以便我可以排除它.

在maven中,我知道如何获取整个依赖关系图以确定哪个是传递依赖的来源,但我不知道如何使用gradle执行此操作.

有谁知道如何使用gradle获取传递依赖的源依赖?

Pet*_*ser 49

要显示每个类路径的整个依赖关系树,请使用gradle dependencies.如果您只对特定的类路径感兴趣,请使用(比如说)gradle dependencies --configuration compile.使用该-p选项在子项目上运行.

要显示谁将特定依赖关系引入特定类路径,以及如何解决任何版本冲突,请使用(比如说)gradle dependencyInsight --dependency logback --configuration compile.

请注意,您还可以从整个类路径(或多个)中排除依赖项.通常这比排除特定的传递依赖更可靠.例如:

configurations.all*.exclude module: "logback-classic"
Run Code Online (Sandbox Code Playgroud)