IDEA搭建多模塊的Maven項(xiàng)目方式(相互依賴)
需求
idea上搭建maven項(xiàng)目 MainModule,MainModule依賴ModuleA和 ModuleB,ModuleB依賴ModuleA。
ModuleA 和ModuleB中只有serve層到數(shù)據(jù)庫層的文件,即這兩個(gè)模塊的maven項(xiàng)目,只有src/main/java文件夾。
方式一:MainModule引用ModuleA和ModuleB的jar形式
即將ModuleA和ModuleB編譯后的jar包編譯到MainModule的lib文件中。
運(yùn)行項(xiàng)目的時(shí)候MainModule會(huì)走M(jìn)oduleA和ModuleB的源碼,MainModule勾選自動(dòng)編譯或者手動(dòng)編譯MainModule,修改ModuleA和ModuleB的代碼后,會(huì)即時(shí)生效。
步驟:
1.導(dǎo)入maven項(xiàng)目:MainModule如圖:

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

3.如圖引maven項(xiàng)目:ModuleA和ModuleB

4.ModuleA(pom.xml):


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


6.查看MainModule是否依賴ModuleA和ModuleB這兩個(gè)項(xiàng)目:

說明:
這種方式,項(xiàng)目MainModule加入ModuleA和ModuleB會(huì)自動(dòng)依賴源碼。
方式二:MainModule引用ModuleA和ModuleB的源碼形式
即將ModuleA和ModuleB源碼編譯后輸出到MainModule的編譯路徑下面。
步驟:
1.導(dǎo)入maven項(xiàng)目MainModule
2.MainModule(pom.xml)如下圖:ModuleA和ModuleB.jar范圍為:provided(表示運(yùn)行時(shí),不會(huì)將包放進(jìn)lib里面)
,
3.如圖引入maven項(xiàng)目:ModuleA和ModuleB

4.ModuleA(pom.xml):,


5.ModuleB(pom.xml):


6.設(shè)置MainModule

說明:
這種方式,項(xiàng)目MainModule直接運(yùn)行的是ModuleA和ModuleB源碼而不是jia包。
方式三:使用pom.xml的
<parent></parent>
標(biāo)簽。以后補(bǔ)齊
總結(jié)
不同點(diǎn):
- 方式一:build artifacts后,moduleA和moduleB以jar的形式存在MainModule編譯后的的lib文件夾下面。
- 方式二:build artifacts后,moduleA和moduleB以源碼的形式存在MainModule編譯后MainModule\target\MainModule\WEB-INF\classes文件夾的下面。
相同點(diǎn):
- MainModule的自動(dòng)編譯或者手動(dòng)編譯后,修改moduleA和moduleB的代碼,會(huì)即時(shí)生效。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Spring中ClassPathXmlApplicationContext類的使用詳解
這篇文章主要介紹了Spring中ClassPathXmlApplicationContext類的使用詳解,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01
org.apache.zookeeper.KeeperException.BadVersionException異常的解
在使用Apache ZooKeeper進(jìn)行分布式協(xié)調(diào)時(shí),你可能會(huì)遇到org.apache.zookeeper.KeeperException.BadVersionException異常,本文就來介紹一下解決方法,感興趣的可以了解一下2024-03-03
SpringBoot 多數(shù)據(jù)源及事務(wù)解決方案小結(jié)
本文主要介紹了多數(shù)據(jù)源管理的解決方案(應(yīng)用層事務(wù),而非XA二段提交保證),以及對多個(gè)庫同時(shí)操作的事務(wù)管理,具有一定的參考價(jià)值,感興趣的可以了解一下2024-06-06
詳解java解決分布式環(huán)境中高并發(fā)環(huán)境下數(shù)據(jù)插入重復(fù)問題
這篇文章主要介紹了java解決并發(fā)數(shù)據(jù)重復(fù)問題 ,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03
關(guān)于報(bào)錯(cuò)IDEA Terminated with exit code
如果在IDEA構(gòu)建項(xiàng)目時(shí)遇到下面這樣的報(bào)錯(cuò)IDEA Terminated with exit code 1,那必然是Maven的設(shè)置參數(shù)重置了,導(dǎo)致下載錯(cuò)誤引起的,本文給大家分享兩種解決方法,需要的朋友可以參考下2022-08-08
Redis Lettuce連接redis集群實(shí)現(xiàn)過程詳細(xì)講解
這篇文章主要介紹了Redis Lettuce連接redis集群實(shí)現(xiàn)過程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2023-01-01

