1. 程式人生 > >分享知識-快樂自己:Maven 相關原理

分享知識-快樂自己:Maven 相關原理

 

依賴原則:解決模組工程之間的Jar衝突問題

1):情定設定:驗證路徑最短者優先原則

建立三個工程如下:

Hello:並且以來 log4j.1.2.17.jar

HelloFriend:依賴了工程 Hello,按理說HelloFriend也會間接的依賴了 log4j.1.2.17.jar  但是由於一些特殊原因 明確聲明瞭 為  .14 的jar

MakeFriends:依賴了 HelloFriend ,大家一開始以為會間接的會依賴兩個 jar。實際MakeFriends 只能依賴一個。(定址一個路徑最近的)

2):情定設定:路徑相同時先宣告者優先

建立三個工程如下:

HelloFriend:依賴 log4j.1.2.14

OurFriends:依賴 log4j.1.2.17

MakeFriends:分別引用依賴,HelloFriend 與 OurFriends

這裡的 "宣告" 的先後順序指的是 dependency  標籤配置的先後順序

 3):同一版本號

這裡的版本統一為4.0的(如果統一版本號怎麼辦那?)

配置方式:如下(使用 properties 自定義同一版本號)

使用 ${ atguigu.spring.version }

4):繼承

現狀:Hello 依賴的 junit :4.0

   HelloFriend 依賴的 junit:4.0

    MakeFriends 依賴的 junit:4.9

需求:統一管理各個模組工程中對 junit 依賴的版本

解決思路:將 junit 依賴統一提取到 ” 父 “ 工程中,在子工程宣告 junit 依賴時不指定版本。

        以父工程中統一設定的為準。

操作步驟:

1、建立一個 Maven 工程作為父工程,注意:打包方式為 Pom

2、在子工程中宣告對父工程的引用

3、將子工程的座標中與父工程座標中重複的內容刪除

 

4、在父工程中統一 junit 的依賴

5、在子工程中刪除 junit 依賴的版本號部分。

注意:配置整合後,執行安裝(初始化到本地)命令時先要安裝父工程。

  

5):聚合

作用:一鍵安裝各個模組工程

配置方式:在一個 總的聚合工程 中配置各個參與聚合的模組