IDEA上搭建多模塊的Maven項目(相互依賴)

需求:idea上搭建maven項目 MainModule,MainModule依賴ModuleA和 ModuleB,ModuleB依賴ModuleA.

ModuleA 和ModuleB中只有serve層到數據庫層的文件,即這兩個模塊的maven項目,只有src/main/java文件夾。

方式一,MainModule引用ModuleA和ModuleB的jar形式:即將ModuleA和ModuleB編譯後的jar包編譯到MainModule的lib文件中。運行項目的時候MainModule會走ModuleA和ModuleB的源碼,MainModule勾選自動編譯或者手動編譯MainModule,修改ModuleA和ModuleB的代碼後,會即時生效。

步驟:

1.導入maven項目:MainModule如圖:


2.MainModule(pom.xml)如下圖:


3.如圖引maven項目:ModuleA和ModuleB


4.ModuleA(pom.xml):

         


5.ModuleB(pom.xml)如下圖:




6.查看MainModule是否依賴ModuleA和ModuleB這兩個項目:


說明:

這種方式,項目MainModule加入ModuleA和ModuleB會自動依賴源碼。


方式二,MainModule引用ModuleA和ModuleB的源碼形式。:即將ModuleA和ModuleB源碼編譯後輸出到MainModule的編譯路徑下面。

步驟:

1.導入maven項目MainModule

2.MainModule(pom.xml)如下圖:ModuleA和ModuleB.jar範圍爲:provided(表示運行時,不會將包放進lib裏面)

3.如圖引入maven項目:ModuleA和ModuleB

4.ModuleA(pom.xml):

     

    

5.ModuleB(pom.xml):



6.設置MainModule


說明:

這種方式,項目MainModule直接運行的是ModuleA和ModuleB源碼而不是jia包。

方式三:使用pom.xml 的

<parent></parent>

標籤。以後補齊

總結:

不同點:

方式一:build artifacts後,moduleA和moduleB以jar的形式存在MainModule編譯後的的lib文件夾下面。

方式二:build artifacts後,moduleA和moduleB以源碼的形式存在MainModule編譯後MainModule\target\MainModule\WEB-INF\classes文件夾的下面。

相同點:

MainModule的自動編譯或者手動編譯後,修改moduleA和moduleB的代碼,會即時生效。










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