概述
在之前的Spring Boot例子中骑疆,我們都會(huì)用到這樣的parent POM。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.2.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
這個(gè)parent指定了spring-boot所需要的依賴找颓。但是有時(shí)候如果我們的項(xiàng)目已經(jīng)有一個(gè)parent了台腥,這時(shí)候需要引入spring boot該怎么處理呢?
本文將會(huì)解決這個(gè)問題蒋荚。
不使用Parent POM來引入Spring boot
parent pom.xml主要處理的是依賴和使用的插件管理。使用起來會(huì)非常簡單馆蠕,這也是我們?cè)赟pring boot中常用的方式期升。
在實(shí)際中惊奇,如果我們因?yàn)榉N種原因,不能使用Spring boot自帶的parent,那么我們可以這樣做:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.2.2.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
將spring-boot-dependencies作為一個(gè)依賴放入dependencyManagement標(biāo)簽即可播赁。注意颂郎,這里的scope要使用import。
接下來容为,我們就可以隨意使用spring boot的依賴了乓序,例如:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
另一方面,如果不使用parent POM坎背,Spring boot自帶的plugin替劈,需要我們自己引入:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
覆蓋依賴項(xiàng)版本
如果我們需要使用和parent POM中定義的不同的依賴項(xiàng)版本,則可以在dependencyManagement中重寫得滤。
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
<version>1.5.5.RELEASE</version>
</dependency>
</dependencies>
// ...
</dependencyManagement>
當(dāng)然陨献,你也可以在每次引入依賴的時(shí)候,指定所需要的版本懂更。
更多教程請(qǐng)參考 flydean的博客