1. 程式人生 > >maven中使用scope= import

maven中使用scope= import

在Spring boot 專案的POM檔案中,我們可以通過在POM檔案中繼承 Spring-boot-starter-parent來引用Srping boot預設依賴的jar包,如下:

1<!-- Inherit defaults from Spring Boot -->
2<parent>
3<groupId>org.springframework.boot</groupId>
4<artifactId>spring-boot-starter-parent</artifactId>
5<version>2.0.1.BUILD-SNAPSHOT</version
>
6</parent>

但是,通過上面的parent繼承的方法,只能繼承一個 spring-boot-start-parent。實際開發中,使用者很可能需要繼承自己公司的標準parent配置,這個時候可以使用 scope=import 來實現多繼承。

程式碼如下:

 1<dependencyManagement>
 2<dependencies>
 3<dependency>
 4<!-- Import dependency management from Spring Boot -->
 5<groupId>org.springframework.boot</groupId
>
6<artifactId>spring-boot-dependencies</artifactId> 7<version>2.0.1.BUILD-SNAPSHOT</version> 8<type>pom</type> 9<scope>import</scope> 10</dependency> 11</dependencies> 12</dependencyManagement>

通過上面方式,就可以獲取spring-boot-dependencies.2.0.1.BUILD-SNAPSHOT.pom檔案中dependencyManagement配置的jar包依賴。

如果要繼承多個,可以在dependencyManagement中新增,如:

 1<dependencyManagement>
 2<dependencies>
 3<!-- Override Spring Data release train provided by Spring Boot -->
 4<dependency>
 5<groupId>org.springframework.data</groupId>
 6<artifactId>spring-data-releasetrain</artifactId>
 7<version>Fowler-SR2</version>
 8<type>pom</type>
 9<scope>import</scope>
10</dependency>
11<dependency>
12<groupId>org.springframework.boot</groupId>
13<artifactId>spring-boot-dependencies</artifactId>
14<version>2.0.1.BUILD-SNAPSHOT</version>
15<type>pom</type>
16<scope>import</scope>
17</dependency>
18</dependencies>
19</dependencyManagement>