導入時如何定制spring-boot依賴項的版本


spring-boot通過maven的依賴管理為我們寫好了很多依賴項及其版本,我們可拿來使用。spring-boot文檔介紹了兩種使用方法,一是繼承,二是導入。

通過<parent>繼承:

<project>
  <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.1.9.RELEASE</version> </parent>
</project>

或者在<dependencyManagement>中導入:

<dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>1.1.9.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency>
</dependencies> </dependencyManagement>

此外,在其 文檔 里說到,繼承時可簡單地通過屬性定制依賴項版本。比如,改為使用較新的spring-4.1.6.RELEASE版本:

<properties> <spring.version>4.1.6.RELEASE<spring.version> </properties>

不過,此法只對繼承有效,導入無效。以下摘自其文檔說明:

This only works if your Maven project inherits (directly or indirectly) from spring-boot-dependencies. If you have added spring-boot-dependencies in your own dependencyManagement section with <scope>import</scope> you have to redefine the artifact yourself instead of overriding the property.

導入時有沒有較簡單的方法呢?我們可先繼承后導入!

1、先建一個過渡性工程,繼承后定制依賴項的版本。

<project> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>1.1.9.RELEASE</version> </parent> <groupId>mycomp</groupId> <artifactId>myproject-spring-boot-bom</artifactId> <version>1.1.9</version> <packaging>pom</packaging> <properties> <spring.version>4.1.6.RELEASE</spring.version> </properties> </project>

2、然后導入到自己的工程里。

<project> <modelVersion>4.0.0</modelVersion> <groupId>mycomp</groupId> <artifactId>myproject</artifactId> <version>0.0.1-SNAPSHOT</version> <dependencyManagement> <dependencies> <dependency> <groupId>mycomp</groupId> <artifactId>myproject-spring-boot-bom</artifactId> <version>1.1.9</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> </project>

這樣,雖然多建了一個過渡性工程,但定制依賴項版本同繼承時一樣簡單。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM