gradle如何获取第三方库的所有依赖?

How gradle get all the dependencies of a third party library?

在我的 springboot 应用程序 (kotlin+gradle) 中,我正在尝试使用我存储在 Nexus 中的库之一。这个 nexus-library 需要来自 AWS sdk 和其他存储库的一些依赖项。

我必须配置 gradle.build.kts 获取所有这些额外依赖项所需的所有存储库吗?它知道 gradle 直接从 Jar 中获取所有这些依赖项吗?或者... .这是怎么做到的?

Gradle 将使用依赖项的 POM 文件来计算任何传递依赖项,并将尝试从您配置的存储库中检索它们。如果它们不能直接从那里获得,那么您需要将额外的存储库添加到您的 Gradle 配置中,以告诉 Gradle 它可以在哪里搜索这些依赖项。

对于 Gradle 版本 6,Gradle 将尝试按以下顺序解决依赖项

  1. Gradle 模块元数据(扩展名为 .module 的 JSON 文件)

  2. Maven 元数据(.pom 文件)或 Ivy 元数据(.ivy 文件)分别取决​​于 Maven 或 Ivy 存储库

  3. 工件(例如,jar)本身,如果没有找到元数据。这已被禁用,但可以通过附加配置启用。

有关详细信息,请参阅 Gradle documentation