springboot之依赖版本管理

       我们在使用springboot项目的时候,在我们的pom文件中,我们引入的依赖通常不需要制定依赖的版本,但是maven却能够给我们下载正常的jar包。

      在普通的spring项目的中我们需要自己去定义依赖的版本,经常会遇到jar包冲突的情况,springboot自动的帮我们管理这些依赖的版本,给我们的开发省去了不必要的麻烦,提高我们的开发效率!

       那么它是怎么做到的呢。

      下面我们以一个简单的例子来说明一下springboot是怎么做到的依赖版本的自动管理。


    org.springframework.boot
    spring-boot-starter-parent
    2.1.6.RELEASE
     

所有的springboot项目都会依赖这个父pom,在这个父pom我们可以都看到,它又依赖了一个的pom,


  org.springframework.boot
  spring-boot-dependencies
  2.1.6.RELEASE
  ../../spring-boot-dependencies

spring-boot-starter-parent

再看一下spring-boot-dependencies这个pom

org.springframework.boot
spring-boot-dependencies
2.1.6.RELEASE
pom

  5.15.9
  2.7.7
  1.9.75
  2.6.4
  1.9.4
                  。。。

  
   
    org.apache.activemq
    activemq-amqp
    ${activemq.version}
   
           。。。
  

在这个顶级的pom文件中,标签中主要是管理了各个依赖的版本号,而里面声明了常用的依赖并在中使用了上面的属性值,定义依赖的版本。而我们在自己的项目中如果需要使用某个依赖,只需要声明就可以引用到这个pom里面声明的依赖和对应的版本。

如果要引入一个在spring-boot-dependencies没有定义的依赖,那么则需要在自己的pom中定义依赖的版本。

PS:maven的标签里面定义的依赖只起到一个声明的作用,只有在项目中显式的声明依赖,maven才会真正的去给项目下载这个依赖的jar。

你可能感兴趣的:(springboot,java,spring,cloud)