什么是发布火车 Bom?

Juk*_*uke 7 dependencies pom.xml spring-cloud spring-cloud-contract

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

Mau*_*sco 6

BOM 是Bill of Materials的缩写:对于您的功能,您需要其他项目,每个项目都有不同的版本。通过 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>
Run Code Online (Sandbox Code Playgroud)

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


Mar*_*zak 2

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

发布序列标签(见下文)当前至少在两个工件中使用:“spring-data”和“spring-cloud-dependencies”(其他大多数工件都有与其父项目相关的正常数字发布标签)。依赖项 POM 可以用作依赖项管理的 BOM。使用配置客户端和 eureka 的最新版本的示例(更改工件 ID 以引入其他启动器):