Gradle: 如何检查项目中的重复依赖项?

Gradle: How to check for duplicate dependencies in project?

我正在尝试从我的项目中删除所有过时/不必要的 dependencies

在查看 allDeps 任务的输出时,我可以看到有多个依赖项被复制,但输出很难理解。

是否有特定的 Gradle tool / task 可以用来更清楚地了解我可以删除哪些依赖项?

您可以使用 ./gradlew projectName:dependencies 查看项目所有依赖项的树。重复的或不同版本的都在不同的配置和类路径中进行了注释。

警告: 不幸的是,该插件无法将其任务添加到我使用 gradle 3.3 的 gradle 构建中。 gradle 4.3.1 仍然失败(感谢 MoePad 的报告)。 该项目似乎不是很活跃,因此可能无法按预期进行。


为了完整性:有一个 gradle 插件可用 ,名为 dependency-checker which does "assist in validating project dependencies". Additional link to the gradle plugin page

添加的任务之一是:

CheckDependencies

A Task used to validate that the build has no duplicate dependencies - a dependency with the same group and name, but with a different version. The build will be failed if any duplications are found.

它也可能有助于识别 duplicates/outdated 依赖关系。

将插件添加到您的 gradle 构建文件中:

plugins {
  id "com.stehno.gradle.dependency-checker" version "0.2.2"
}

这应该添加以下 gradle 任务:

  • 检查依赖项
  • 检查可用性

有关配置的详细信息以及任务的具体作用,请参阅github page