Maven多模塊之父子關(guān)系的創(chuàng)建
Maven多模塊項目,適用于一些比較大的項目,通過合理的模塊拆分,實現(xiàn)代碼的復用,便于維護和管理。尤其是一些開源框架,也是采用多模塊的方式,提供插件集成,用戶可以根據(jù)需要配置指定的模塊。
Maven多模塊(pom)
1.1 父模塊創(chuàng)建
先創(chuàng)建個簡單的空的Maven Project作為父項目
1.2 子模塊創(chuàng)建
重新創(chuàng)建一個Maven Project作為子項目
1.3 父子模塊(繼承關(guān)系)
注意:此時父子模塊為兩個獨立的項目。
步驟1:子項目中加入<parent>
節(jié)點,傳入父項目完整坐標。
步驟2:將子項目中的依賴都注釋掉。
注意:此時子項目中的沒有了Maven Dependencies。
步驟3:將子項目注釋的依賴添加到父項目中。
注意:此時子項目中的依賴又添加回來了。
這種直接在父工程中加入<dependencies>
的方式,讓子工程可以直接復用依賴,但是缺點是所有的子項目無條件繼承父工程所有依賴,所以如果要在父工程中添加依賴只能針對非常通用的依賴。
在父項目中再添加一個依賴。
子項目同時也繼承了新添加的依賴。
那如果不想無條件繼承父工程的所有依賴,而想讓子項目自行選擇需要的依賴又該如何做呢?
1.4 dependencyManagement
在父項目中用<dependencies>
節(jié)點包裹<dependencies>
節(jié)點,并且添加的是完整的依賴坐標(gav)。
此時子項目中的Maven Dependencies又會消失,說明添加<dependencies>
節(jié)點后,它并不負責相關(guān)依賴的下載。
子項目加入相應同樣依賴,注意不要加version
(version
繼承自父項目),需要什么樣的依賴就聲明什么。
特別注意,如果父項目提供了groupid
和version
,則刪除子項目坐標中的groupid
和version
,直接繼承父項目相關(guān)坐標。
dependencyManagement
的作用:依賴版本管理器
- 本身并不下載任何依賴,只是管理依賴的版本。依賴的下載依然需要單獨的
<dependencies>
(不加dependencyManagement
,額外寫一個)去做 - 如果
<dependencies>
中的<dependency>
沒有聲明版本號(version
),maven會去尋找有無對應的dependencyManagement
,當前工程沒有就會向上找父工程。如果找到就以dependencyManagement
中對應依賴聲明的version
為準,否則報錯version is missing。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Springboot?Vue實現(xiàn)單點登陸功能示例詳解
這篇文章主要為大家介紹了Springboot?Vue實現(xiàn)單點登陸功能示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-01-01關(guān)于@Autowierd && @Resource 你真的了解嗎
這篇文章主要介紹了關(guān)于@Autowierd && @Resource的具體使用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08Java8新特性之空指針異常的克星Optional類的實現(xiàn)
這篇文章主要介紹了Java8新特性之空指針異常的克星Optional類的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-10-10Springboot項目平滑關(guān)閉及自動化關(guān)閉腳本
這篇文章主要為大家詳細介紹了Springboot項目平滑關(guān)閉及自動化關(guān)閉腳本,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-05-05Java利用EasyExcel實現(xiàn)導出導入功能的示例代碼
EasyExcel是一個基于Java的、快速、簡潔、解決大文件內(nèi)存溢出的Excel處理工具。本文廢話不多說,直接上手試試,用代碼試試EasyExcel是否真的那么好用2022-11-11PostMan post請求發(fā)送Json數(shù)據(jù)的方法
下面小編就為大家分享一篇PostMan post請求發(fā)送Json數(shù)據(jù)的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-03-03Spring框架的環(huán)境搭建和測試實現(xiàn)
這篇文章主要介紹了Spring框架的環(huán)境搭建和測試實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-10-10