gpt4 book ai didi

spring-boot - Gradle:Spring Boot 依赖管理插件中的访问版本声明

转载 作者:行者123 更新时间:2023-12-04 21:32:49 27 4
gpt4 key购买 nike

我有 spring boot 项目,我尝试使用 spring boot dependency-management plugin能够使用提供的依赖版本。

该插件“模拟”mavens BOM 行为,这意味着它以某种方式从 maven 父项目中检索库的版本(我不确定这是如何实现的,但通常版本取自 pom.xml )。它确实有 jackson.version用于为 com.fasterxml.jackson.dataformat 内的工件设置版本的属性团体。

我的项目使用来自同一组的工件,但它不包含在 BOM 中( jackson-dataformat-yaml )但我想使用相同的 jackson 版本。

我尝试添加这样的编译依赖项:

compile "com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:${jackson.version}"

但构建失败:

Could not get unknown property 'jackson' for object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.



问:有没有办法访问该属性?或者我还能如何重用 lib 版本?

更新
我不知道为什么我不从一开始就尝试这个,但它有效:
compile "com.fasterxml.jackson.dataformat:jackson-dataformat-yaml"

但是我不知道为什么会这样(工件没有在任何地方声明)。

最佳答案

在使用工作示例更新问题后,我将尝试回答为什么它可以工作而不指定版本:

您所指的 pom.xml 包含依赖项

<dependency>
<groupId>com.fasterxml.jackson</groupId>
<artifactId>jackson-bom</artifactId>
<version>${jackson.version}</version>
<scope>import</scope>
<type>pom</type>
</dependency>

...它指的是 jackson-bom 项目中的以下 pom.xml,该项目又包含以下依赖项:
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-yaml</artifactId>
<version>${jackson.version.dataformat}</version>
</dependency>

...依次指定 jackson-dataformat-yaml 工件的版本...

关于spring-boot - Gradle:Spring Boot 依赖管理插件中的访问版本声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46933310/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com