如何在 gradle 中获取依赖项的元数据?

Posted

技术标签:

【中文标题】如何在 gradle 中获取依赖项的元数据?【英文标题】:How can I get the metadata of dependencies in gradle? 【发布时间】:2020-04-27 02:47:12 【问题描述】:

我想从 Gradle 获得关于我添加的每个依赖项的所有信息,

我可以通过运行得到依赖树

grade dependencies 

我们得到这样的东西

+--- io.springfox:springfox-swagger2:2.9.2
|    +--- io.swagger:swagger-annotations:1.5.20
|    +--- io.swagger:swagger-models:1.5.20
|    |    +--- com.fasterxml.jackson.core:jackson-annotations:2.9.5 -> 2.9.0
|    |    +--- org.slf4j:slf4j-api:1.7.22 -> 1.7.26
|    |    \--- io.swagger:swagger-annotations:1.5.20
|    +--- io.springfox:springfox-spi:2.9.2 (*)
|    +--- io.springfox:springfox-schema:2.9.2
|    |    +--- io.springfox:springfox-core:2.9.2 (*)
|    |    \--- io.springfox:springfox-spi:2.9.2 (*)
|    +--- io.springfox:springfox-swagger-common:2.9.2
|    |    +--- io.swagger:swagger-annotations:1.5.20
|    |    +--- io.swagger:swagger-models:1.5.20 (*)
|    |    +--- io.springfox:springfox-spi:2.9.2 (*)
|    |    +--- io.springfox:springfox-schema:2.9.2 (*)
|    |    +--- io.springfox:springfox-spring-web:2.9.2 (*)
|    |    +--- com.google.guava:guava:20.0
|    |    +--- com.fasterxml:classmate:1.4.0
|    |    +--- org.slf4j:slf4j-api:1.7.25 -> 1.7.26
|    |    +--- org.springframework.plugin:spring-plugin-core:1.2.0.RELEASE (*)
|    |    \--- org.springframework.plugin:spring-plugin-metadata:1.2.0.RELEASE (*)
|    +--- io.springfox:springfox-spring-web:2.9.2 (*)
|    +--- com.google.guava:guava:20.0
|    +--- com.fasterxml:classmate:1.4.0
|    +--- org.slf4j:slf4j-api:1.7.25 -> 1.7.26
|    +--- org.springframework.plugin:spring-plugin-core:1.2.0.RELEASE (*)
|    +--- org.springframework.plugin:spring-plugin-metadata:1.2.0.RELEASE (*)
|    \--- org.mapstruct:mapstruct:1.2.0.Final

但无法获取有关依赖项的所有其他信息 我怎样才能做到这一点?

更新 我想获取有关创建者、日期、图书馆主页、图书馆语言、许可证类型或任何可以提供的信息的信息。

【问题讨论】:

您需要哪些信息? 我更新了我想获取有关创建者、日期、图书馆主页、图书馆语言、许可证类型或任何可以提供的信息的问题 【参考方案1】:

Gradle 不提供用于执行此操作的 API。

如果您的依赖项使用 Maven POM 文件或 Ivy XML 作为其元数据,您可以通过 ArtifactQuery 访问这些文件。有an example in the documentation 可以做到这一点。

但是,您必须决定要提取哪些信息以及如何呈现它。

【讨论】:

以上是关于如何在 gradle 中获取依赖项的元数据?的主要内容,如果未能解决你的问题,请参考以下文章

在 Gradle 中,如何生成具有解析为实际使用版本的动态依赖项的 POM 文件?

使用 Gradle 时如何排除传递依赖项的所有实例?

从 Gradle v7+ 获取版本目录中所有依赖项的列表

Gradle - 获取依赖项的 URL

如何使用 Gradle 创建具有实现依赖项的可执行胖 jar

我在 Kapt Debug Kotlin 中遇到错误。我在 gradle 文件中更新了依赖项的版本。仍然面临这个问题