【发布时间】:2017-10-25 13:07:30
【问题描述】:
我有 Spring Boot 项目,我尝试使用 spring boot dependency-management plugin 来使用提供的依赖版本。
插件“模拟” maven 的 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}"
但构建失败:
无法为 org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler 类型的对象获取未知属性“jackson”。
问:有没有办法访问该属性?或者我还能如何重用 lib 版本?
更新 我不知道为什么我不从一开始就尝试这个,但它确实有效:
compile "com.fasterxml.jackson.dataformat:jackson-dataformat-yaml"
但是我不知道为什么会这样(工件没有在任何地方声明)。
【问题讨论】:
-
修改我的答案以回答为什么您的更新解决方案有效;-)
标签: spring-boot gradle build.gradle maven-bom