首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >隐式导入的Maven BOM文件在Gradle中占主导地位吗?

隐式导入的Maven BOM文件在Gradle中占主导地位吗?
EN

Stack Overflow用户
提问于 2019-03-21 09:26:05
回答 1查看 746关注 0票数 0

我开发了一个SpringBoot2.0.x应用程序,它使用Gradle 5.2.1导入多个Maven BOMs,包括定制的和官方的Spring。因此,我使用Gradle提供的platform语法。但是,我也使用dependency-management插件和Spring插件相结合。

代码语言:javascript
复制
apply plugin: 'io.spring.dependency-management'
apply plugin: 'org.springframework.boot'

dependencies {
    compile platform("org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}")
    compile platform("com.myOrg:custom-bom:${latestVersion}")
}

根据文档,这个插件组合触发了Spring文件的包含。然而,我不知道这是如何含蓄地包括BOM符合BOM的常规秩序。它是首先应用,因而可以被其他BOM覆盖,还是最后应用,从而主导所有其他BOM文件?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-21 14:40:07

在一个只有platform使用BOM的分级世界中,没有优先规则。Gradle将考虑由不同的BOM和传递依赖带来的所有约束,如果它们推荐不同的版本,则以通常的方式解决它们。

我不是Spring dependency-management插件的专家,但我的理解是,它的目标是复制Maven BOM合同: BOM的版本可以否决任何可传递的版本,反过来也可以被本地版本声明所推翻。

如果这种理解是正确的,那么dependency-management插件将对它导入的所有依赖项应用它的规则。任何未被插件覆盖的内容都将遵守分级规则。

从这个意义上说,混合可能不是一个理想的情况,因为BOM内容在任何一个方向上的变化都可能对已解决的依赖产生相当严重的影响。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55277189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档