我有春季启动项目,我尝试使用
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工件的版本……