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

我有春季启动项目,我尝试使用
spring boot dependency-management plugin,以便能够使用提供的依赖版本.

该插件“模拟”专家的BOM行为,这意味着它以某种方式从maven父项目中检索libs的版本(我不确定这是多么简单地实现,但通常版本取自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版本?

UPDATE
我不知道为什么我从一开始就尝试这个,但它有效:

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工件的版本……

点赞