什么是Release Train Bom?

时间:2018-02-09 14:35:09

标签: dependencies pom.xml spring-cloud spring-cloud-contract

我正在处理Spring云合同文档,我看到了Spring cloud documentation 依赖的评论,想知道这个<!-- If you're adding this dependency explicitly you have to add it *BEFORE* the Release Train BOM-->

到底是什么

2 个答案:

答案 0 :(得分:1)

请阅读文档:https://projects.spring.io/spring-cloud/。如果你转到Quick Start,你会看到

  

版本系列标签(见下文)实际上只在一个工件中明确使用:&#34; spring-cloud-dependencies&#34; (所有其他人都有与其父项目相关联的普通数字发布标签)。权限POM是您可以用作依赖关系管理的BOM的工具。使用配置客户端和eureka的最新版本的示例(更改工件ID以引入其他启动器):

答案 1 :(得分:1)

BOM是物料清单的首字母缩写:对于您的功能,您需要其他项目,每个项目都有不同的版本。通过bom,您可以在一个地方获得这些项目的兼容/测试/需要版本的列表。

正如spring-data中所述,发布列车是带有名称而非版本的BOM(以避免混淆),名称按字母顺序排列。

如果要覆盖在发布系列中编写的其中一个版本,则必须在发布列表本身之前放置该显式依赖项。 因此,在您链接的文档中,如果您要使用工件 spring-cloud-contract-dependencies 2.0.0.RC2 版本,请将其放入(例如)之前:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>Finchley.RC1</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

因为Finchley.RC1包含该依赖项的不同版本(在本例中为2.0.0.RC1)。