SpringBoot的版本仲裁中心
我们知道SpringBoot能通过启动器(starters)来自动帮助我们管理maven依赖,但是里面不同的maven坐标都有不同的版本,不仅如此,还需要考虑许多maven依赖坐标之间会不会有冲突,这就需要协调好各个版本之间的关系了。
这些SpringBoot都帮我们管理好了,但是它是在哪里管理的呢?
答案就在POM.xml文件中,这里我们以2.2.5.RELEASE版本为例子
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.5.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
我们通过Spring Initializr生成一个项目时,会在pom文件中自动帮我们加入这个parent元素,说明咱们的SpringBoot依赖于某个父项目,我们点进去一看究竟
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.2.5.RELEASE</version>
<relativePath>../../spring-boot-dependencies</relativePath>
</parent>
里面有个重要的元素,它还依赖个父项目,咱们再点进去看看
结果发现一个properties元素,里面定义了很多maven坐标的版本。
<properties>
<activemq.version>5.15.11</activemq.version>
<antlr2.version>2.7.7</antlr2.version>
<appengine-sdk.version>1.9.78</appengine-sdk.version>
<artemis.version>2.10.1</artemis.version>
<aspectj.version>1.9.5</aspectj.version>
<assertj.version>3.13.2</assertj.version>
<atomikos.version>4.0.6</atomikos.version>
<awaitility.version>4.0.2</awaitility.version>
<bitronix.version>2.1.4</bitronix.version>
<build-helper-maven-plugin.version>3.0.0</build-helper-maven-plugin.version>
<byte-buddy.version>1.10.8</byte-buddy.version>
<caffeine.version>2.8.1</caffeine.version>
<cassandra-driver.version>3.7.2</cassandra-driver.version>
<classmate.version>1.5.1</classmate.version>
<commons-codec.version>1.13</commons-codec.version>
<commons-dbcp2.version>2.7.0</commons-dbcp2.version>
<commons-lang3.version>3.9</commons-lang3.version>
<commons-pool.version>1.6</commons-pool.version>
<commons-pool2.version>2.7.0</commons-pool2.version>
<couchbase-cache-client.version>2.1.0</couchbase-cache-client.version>
<couchbase-client.version>2.7.12</couchbase-client.version>
<db2-jdbc.version>11.5.0.0</db2-jdbc.version>
<dependency-management-plugin.version>1.0.9.RELEASE</dependency-management-plugin.version>
<derby.version>10.14.2.0</derby.version>
<dropwizard-metrics.version>4.1.3</dropwizard-metrics.version>
<ehcache.version>2.10.6</ehcache.version>
<ehcache3.version>3.8.1</ehcache3.version>
<elasticsearch.version>6.8.6</elasticsearch.version>
<embedded-mongo.version>2.2.0</embedded-mongo.ve