Maven之Spring BOM(Bill of Materials)

参考文章:

https://blog.csdn.net/blueheart20/article/details/81011805

在Maven项目中,不同的第三方依赖包可以直接或者间接依赖于Spring,这些Spring的版本各有不同,则在项目中容易产生版本的冲突。
 
Spring不同模块或者与外部进行集成时,依赖处理就需要各自对应版本号。它们的集成经常会遇到问题,给搭建和升级带来不便。
 
BOM是由Maven提供的功能,用以统一间接或者直接依赖的类库版本,强制某个类库使用某一个统一的版本。SpringSource为了解决这些Jar冲突,推出了各种BOM,最著名的就是spring platform io bom,其中最核心的三个是:spring-framework-bom、spring-boot-dependencies、platform-bom。
在maven的pom.xml中无需指定具体的类库版本,直接使用,即默认使用bom中指定的版本。
# 项目中可以这么用
<properties>
      <spring.version>5.3.10</spring.version>
      <spring.boot.version>2.5.5</spring.boot.version>
      <spring.platform.version>Cairo-SR8</spring.platform.version>
</properties>

<dependencyManagement>
    <dependencies>
        <!-- https://mvnrepository.com/artifact/org.springframework/spring-framework-bom -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-framework-bom</artifactId>
            <version>${spring.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
        <!--一般项目用上面这个进行管理jar包就行了 下面的是boot项目使用的-->
        <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-dependencies -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-dependencies</artifactId>
            <version>1.3.0.M2</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
        <!-- https://mvnrepository.com/artifact/io.spring.platform/platform-bom -->
        <dependency>
            <groupId>io.spring.platform</groupId>
            <artifactId>platform-bom</artifactId>
            <version>${spring.platform.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

原文地址:https://www.cnblogs.com/mazhiyong/p/15400878.html