欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Maven最佳實(shí)踐之一個(gè)好的parent依賴基礎(chǔ)

 更新時(shí)間:2018年12月25日 11:19:22   作者:isea533  
今天小編就為大家分享一篇關(guān)于Maven最佳實(shí)踐之一個(gè)好的parent依賴基礎(chǔ),小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧

使用parent 控制依賴版本是很常見(jiàn)的事。

如果你有過(guò)控制依賴版本的這種經(jīng)歷,你可能就會(huì)遇到過(guò)第三方版本之間的沖突,本文不介紹如何解決沖突,但是會(huì)提供給你一個(gè)基本不存在沖突的基礎(chǔ)依賴。

得益于 Spring ,尤其是 Spring Boot 對(duì)第三方集成提供的 starter。Spring Boot 對(duì)可能用到的第三方依賴提供了很好的版本控制,我們就依靠 Spring 提供的 bom 和 dependencies 來(lái)實(shí)現(xiàn)我們自己的基礎(chǔ)依賴。

由于 Spring Boot 2.0 正式版還沒(méi)有發(fā)布,這里提供的是 Spring 4.x 最新版本的依賴,這兩個(gè)依賴分別如下:

Spring Framework (Bill Of Materials) » 4.3.12.RELEASE

Spring Boot Dependencies » 1.5.8.RELEASE

上圖只顯示部分依賴

這兩個(gè)依賴搭配的時(shí)候,可以通過(guò)上面第一個(gè)確定你要選擇的 Spring 版本,然后去 Spring Boot 這個(gè)依賴中選擇和 Spring 版本對(duì)應(yīng)的版本(Spring Boot 中有對(duì) spring-core 的依賴)。上面這兩個(gè)版本就是目前(2017-11-05)最新的版本。

依據(jù)這兩個(gè)依賴,我們創(chuàng)建一個(gè)基礎(chǔ)的依賴如下:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>tk.mybatis</groupId>
  <artifactId>spring-dependencies</artifactId>
  <packaging>pom</packaging>
  <version>4.3.12.RELEASE</version>
  <name>基礎(chǔ)依賴版本管理</name>
  <properties>
<springframework.version>4.3.12.RELEASE</springframework.version>
<springboot.version>1.5.8.RELEASE</springboot.version>
  </properties>
  <dependencyManagement>
    <dependencies>
      <!-- 統(tǒng)一管理Spring依賴 -->
      <dependency>
<groupId>org.springframework</groupId>
        <artifactId>spring-framework-bom</artifactId>
        <version>${springframework.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <!--通過(guò)Spring Boot管理其他第三方版本-->
      <dependency>
<groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-dependencies</artifactId>
        <version>${springboot.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <!--其他-->
    </dependencies>
  </dependencyManagement>
</project>

注意兩個(gè)依賴都是添加在 dependencyManagement 中,并且指定 <type>pom</type> 和 <scope>import</scope>,import 是 <scope> 中最特別的一個(gè)類型,這個(gè)類型只能用于這種情況。

同時(shí)要注意這兩個(gè)依賴的順序,越靠前面優(yōu)先級(jí)越高。

如果你查看上面pom.xml 文件最終生成的 effective-pom,就會(huì)發(fā)現(xiàn)這是一個(gè)有 3000 多行的文件,這里面幾乎包含了常見(jiàn)的各種依賴,少數(shù)不包含在內(nèi)再額外添加即可。

除了上面的配置外,一個(gè)基礎(chǔ)的 pom 還可以在增加一些常見(jiàn)插件的配置。下面是一個(gè)簡(jiǎn)單的示例。

 <build>
  <plugins>
   <plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
     <source>1.8</source>
     <target>1.8</target>
    </configuration>
   </plugin>
  </plugins>
</build>

指定編譯時(shí)的 JDK 版本是非常有必要的,尤其是在使用 IDEA 的情況下,這樣可以避免 IDEA 選擇 1.5 作為默認(rèn)值的一些編譯錯(cuò)誤。由于不同環(huán)境使用的插件不太相同,所以這里只是一個(gè)示例,不需要按照這種方式使用。更合理的用法可能是創(chuàng)建一個(gè)插件的基礎(chǔ) pom(plugin-pom),然后在上面的的 pom 中設(shè)置 parent 為 plugin-pom,這樣能滿足更多情況下的選擇。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

相關(guān)文章

  • JAVA實(shí)現(xiàn)簡(jiǎn)單系統(tǒng)登陸注冊(cè)模塊

    JAVA實(shí)現(xiàn)簡(jiǎn)單系統(tǒng)登陸注冊(cè)模塊

    這篇文章主要介紹了一個(gè)簡(jiǎn)單完整的登陸注冊(cè)模塊的實(shí)現(xiàn)過(guò)程,文章條理清晰,在實(shí)現(xiàn)過(guò)程中加深了對(duì)相關(guān)概念的理解,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2015-07-07
  • 淺析Spring配置文件

    淺析Spring配置文件

    本文主要對(duì)Spring配置文件進(jìn)行了介紹。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2017-01-01
  • JAVA中HTTP基本認(rèn)證(Basic Authentication)實(shí)現(xiàn)

    JAVA中HTTP基本認(rèn)證(Basic Authentication)實(shí)現(xiàn)

    HTTP 基本認(rèn)證是一種簡(jiǎn)單的認(rèn)證方法,本文主要介紹了JAVA中HTTP基本認(rèn)證(Basic Authentication),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-07-07
  • java實(shí)現(xiàn)分布式項(xiàng)目搭建的方法

    java實(shí)現(xiàn)分布式項(xiàng)目搭建的方法

    這篇文章主要介紹了java實(shí)現(xiàn)分布式項(xiàng)目搭建的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • Java判斷范圍型的數(shù)據(jù)是否存在重疊的方法

    Java判斷范圍型的數(shù)據(jù)是否存在重疊的方法

    遇到了個(gè)問(wèn)題,同一天可以輸入多個(gè)時(shí)間段,但是每個(gè)時(shí)間段的時(shí)間不能出現(xiàn)重疊,這不就是判斷數(shù)據(jù)返回是否有重疊的變種嗎,所以本文給大家介紹了Java判斷范圍型的數(shù)據(jù)是否存在重疊的方法,需要的朋友可以參考下
    2024-07-07
  • Java新API的時(shí)間格式化

    Java新API的時(shí)間格式化

    這篇文章主要介紹了Java新API的時(shí)間格式化,新的時(shí)間API的時(shí)間格式化由java.time.format.DateTimeFormatter負(fù)責(zé),更多相關(guān)資料需要的小伙伴可以參考一下
    2022-05-05
  • java括號(hào)匹配問(wèn)題介紹

    java括號(hào)匹配問(wèn)題介紹

    大家好,本篇文章主要講的是java括號(hào)匹配問(wèn)題介紹,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • Java語(yǔ)言實(shí)現(xiàn)對(duì)MySql數(shù)據(jù)庫(kù)中數(shù)據(jù)的增刪改查操作的代碼

    Java語(yǔ)言實(shí)現(xiàn)對(duì)MySql數(shù)據(jù)庫(kù)中數(shù)據(jù)的增刪改查操作的代碼

    這篇文章主要介紹了Java語(yǔ)言實(shí)現(xiàn)對(duì)MySql數(shù)據(jù)庫(kù)中數(shù)據(jù)的增刪改查操作的代碼,實(shí)現(xiàn)了連接數(shù)據(jù)庫(kù),和數(shù)據(jù)庫(kù)的增刪改查操作,有興趣的可以了解一下。
    2016-12-12
  • Spring Boot定時(shí)任務(wù)的使用實(shí)例代碼

    Spring Boot定時(shí)任務(wù)的使用實(shí)例代碼

    這篇文章主要介紹了Spring Boot定時(shí)任務(wù)的使用實(shí)例代碼,需要的朋友可以參考下
    2017-04-04
  • Spring中@PathVariable和@RequestParam注解的用法區(qū)別

    Spring中@PathVariable和@RequestParam注解的用法區(qū)別

    這篇文章主要介紹了Spring中@PathVariable和@RequestParam注解的用法區(qū)別,@PathVariable 是 Spring 框架中的一個(gè)注解,用于將 URL 中的變量綁定到方法的參數(shù)上,它通常用于處理 RESTful 風(fēng)格的請(qǐng)求,從 URL 中提取參數(shù)值,并將其傳遞給方法進(jìn)行處理,需要的朋友可以參考下
    2024-01-01

最新評(píng)論