如何在没有 copying/pasting 大量代码的情况下为多个 gradle 项目提供相同的第 3 方依赖项?

How to provide the same 3rd party dependencies to multiple gradle projects without copying/pasting large amounts of code?

如果我有 10-15 个第 3 方依赖项需要包含在 X 数量的 Gradle 项目中,最好和最有效的方法是什么?

选项 1)

Copy/paste 每个项目的每个依赖项 build.gradle。大量重复代码。

选项 2)

创建一个包含所有这些第 3 方依赖项的新项目,并将每个项目 build.gradle 中的第 3 方依赖项声明替换为新项目的依赖项声明。仍然是代码重复,但比选项 1 少得多。

选项 3)

更聪明的东西,如果它存在的话???

选项 (2) 就是您要查找的内容。

这本质上就是 Spring 启动程序。例如,spring-boot-starter-json provides (6) dependencies.

话虽如此,选项 (2) 可以是:

  1. 另一个项目的submodule/subproject
  2. 专用项目

无论选择哪种方式,库项目都需要发布或包含在最终作品 (fat/uber JAR)