Maven - 依賴傳遞與依賴版本管理


● 依賴傳遞:

添加依賴的jar包如果還依賴其他jar包,則在添加時會一起引入;

● 依賴沖突:

Base-project由3個子項目組成,A-project依賴Tools.jar 1.0版本,C-project依賴Tools.jar 2.0版本,根據依賴傳遞機制,Base-project將同時依賴Tools.jar兩個版本,但這造成了沖突。
根據路徑最近獲勝策略,該項目最終依賴Tools.jar 1.0,導致C-project無法調用getAll方法從而報錯,因此我們要手動選擇一個適合項目的版本。

 

(Maven模塊化開發項目依賴關系)

● 解決依賴沖突的辦法:

① 直接聲明:直接添加Tools.jar 2.0依賴;

② 排除:使用<dependency>標簽中的<exclusions>標簽排除A-project中的Tools.jar 1.0依賴;

③ 依賴管理,版本鎖定:<dependencyManagement>

<dependencyManagement>是依賴管理,該標簽下添加的<dependencies>可以聲明依賴,但是不會引入jar包;
只有聲明在<project>標簽下<dependencies>中的依賴才會被引用到項目中 在<dependencyManagement>下添加jar包坐標后,<project>標簽下<dependencies>標簽的版本號可以忽略不寫; < properties>標簽可以自定義版本號,用el表達式賦值給<version>標簽; 統一管理jar包版本,修改方便;

 


免責聲明!

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



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