Spring boot自定義parent POM

概述

在以前的Spring Boot例子中,咱們都會用到這樣的parent POM。web

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.2.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

這個parent指定了spring-boot所須要的依賴。可是有時候若是咱們的項目已經有一個parent了,這時候須要引入spring boot該怎麼處理呢?spring

本文將會解決這個問題。maven

不使用Parent POM來引入Spring boot

parent pom.xml主要處理的是依賴和使用的插件管理。使用起來會很是簡單,這也是咱們在Spring boot中經常使用的方式。spring-boot

在實際中,若是咱們由於種種緣由,不能使用Spring boot自帶的parent,那麼咱們能夠這樣作:ui

<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做爲一個依賴放入dependencyManagement標籤便可。注意,這裏的scope要使用import。插件

接下來,咱們就能夠隨意使用spring boot的依賴了,例如:code

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

另外一方面,若是不使用parent POM,Spring boot自帶的plugin,須要咱們本身引入:xml

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

覆蓋依賴項版本

若是咱們須要使用和parent POM中定義的不一樣的依賴項版本,則能夠在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>

固然,你也能夠在每次引入依賴的時候,指定所須要的版本。ci

更多教程請參考 flydean的博客

相關文章
相關標籤/搜索