Maven多模塊之父子關係的創建

這篇文章主要介紹了Maven多模塊之父子關係的創建,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨着小編來一起學習學習吧

Maven多模塊項目,適用於一些比較大的項目,通過合理的模塊拆分,實現代碼的複用,便於維護和管理。尤其是一些開源框架,也是採用多模塊的方式,提供插件集成,用戶可以根據需要配置指定的模塊。

Maven多模塊(pom)

1.1 父模塊創建

先創建個簡單的空的Maven Project作爲父項目

1.2 子模塊創建

重新創建一個Maven Project作爲子項目

1.3 父子模塊(繼承關係)

注意:此時父子模塊爲兩個獨立的項目。

步驟1:子項目中加入<parent>節點,傳入父項目完整座標。

步驟2:將子項目中的依賴都註釋掉。

注意:此時子項目中的沒有了Maven Dependencies。

步驟3:將子項目註釋的依賴添加到父項目中。

注意:此時子項目中的依賴又添加回來了。

這種直接在父工程中加入<dependencies>的方式,讓子工程可以直接複用依賴,但是缺點是所有的子項目無條件繼承父工程所有依賴,所以如果要在父工程中添加依賴只能針對非常通用的依賴。

在父項目中再添加一個依賴。

子項目同時也繼承了新添加的依賴。

那如果不想無條件繼承父工程的所有依賴,而想讓子項目自行選擇需要的依賴又該如何做呢?

1.4 dependencyManagement

在父項目中用<dependencies>節點包裹<dependencies>節點,並且添加的是完整的依賴座標(gav)。

此時子項目中的Maven Dependencies又會消失,說明添加<dependencies>節點後,它並不負責相關依賴的下載。

子項目加入相應同樣依賴,注意不要加versionversion繼承自父項目),需要什麼樣的依賴就聲明什麼。

特別注意,如果父項目提供了groupidversion,則刪除子項目座標中的groupidversion,直接繼承父項目相關座標。

dependencyManagement的作用:依賴版本管理器

  1. 本身並不下載任何依賴,只是管理依賴的版本。依賴的下載依然需要單獨的<dependencies>(不加dependencyManagement,額外寫一個)去做
  2. 如果<dependencies>中的<dependency>沒有聲明版本號(version),maven會去尋找有無對應的dependencyManagement,當前工程沒有就會向上找父工程。如果找到就以dependencyManagement中對應依賴聲明的version爲準,否則報錯version is missing。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持神馬文庫。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章