zoukankan      html  css  js  c++  java
  • 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>

  • 相关阅读:
    centos6.5 安装redis自动启动
    正则去除字符串中的特殊字符
    数据库存储去重
    pymysql.err.ProgrammingError: (1064)(字符串转译问题)
    [转] Linux下SVN的三种备份方式
    ASP.NET ASHX中访问Session
    ionic 里使用 iframe 可能遇到的问题
    ionic $http 无法正常访问外部web服务器的问题
    Mac下80端口相关
    IIS7 无法写入配置文件web.config 错误
  • 原文地址:https://www.cnblogs.com/mazhiyong/p/15400878.html
Copyright © 2011-2022 走看看