您好,登錄后才能下訂單哦!
這篇文章主要介紹“Maven的繼承與聚合實(shí)例分析”,在日常操作中,相信很多人在Maven的繼承與聚合實(shí)例分析問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”Maven的繼承與聚合實(shí)例分析”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!
我們已經(jīng)完成了使用聚合工程去管理項(xiàng)目,聚合工程進(jìn)行某一個(gè)構(gòu)建操作,其他被其管理的項(xiàng)目也會(huì) 執(zhí)行相同的構(gòu)建操作。那么接下來(lái),我們?cè)賮?lái)分析下,多模塊開(kāi)發(fā)存在的另外一個(gè)問(wèn)題,重復(fù)配置的問(wèn)題,我們先來(lái)看張圖:
■ spring-webmvc、spring-jdbc在三個(gè)項(xiàng)目模塊中都有出現(xiàn),這樣就出現(xiàn)了重復(fù)的內(nèi)容
■ spring-test只在ssm_crm和ssm_goods中出現(xiàn),而在ssm_order中沒(méi)有,這里是部分重復(fù)的內(nèi)容
■ 我們使用的spring版本目前是5.2.10.RELEASE ,假如后期要想升級(jí)spring版本,所有跟Spring相關(guān)jar包都得被修改,涉及到的項(xiàng)目越多,維護(hù)成本越高
繼承概念
繼承描述的是兩個(gè)工程間的關(guān)系,與java中的繼承相似,子工程可以繼承父工程中的配置信息,常用于依賴關(guān)系的繼承
作用
簡(jiǎn)化配置
減少版本沖突
1、創(chuàng)建Maven模塊,設(shè)置打包類型為pom
<packageing>pom<packageing>
注意事項(xiàng):建議父工程打包方式設(shè)置為pom
2、在父工程的pom文件中配置依賴關(guān)系(子工程將沿用父工程中的依賴關(guān)系)
<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.2.10.RELEASE</version> </dependency> ... </dependencies>
3、在配置子工程中可選的依賴關(guān)系
<dependencyManagement> <dependencies> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.16</version> </dependency> ... </dependencies> </dependencyManagement>
4、在子工程中配置當(dāng)前工程所繼承的父工程
<!--配置該工程的父工程--> <parent> <groupId>com.itheima</groupId> <artifactId>maven_01_parent</artifactId> <version>1.0-RELEASE</version> <!--填寫(xiě)父工程的pom文件--> <relativePath>../maven_01_parent/pom.xml</relativePath> </parent>
5、在子工程中配置使用父工程中可選依賴的坐標(biāo)
<dependencies> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> </dependency> </dependencies>
注意事項(xiàng):
子工程中使用父工程中的可選依賴時(shí),僅需要提供群組id和項(xiàng)目id,無(wú)需提供版本,版本由父工程統(tǒng)一提供,避免版本沖突,子工程中還可以定義父工程中沒(méi)有定義的依賴關(guān)系。
作用
聚合用于快速構(gòu)建項(xiàng)目
繼承用于快速配置
相同點(diǎn)
聚合與繼承的pom.xml文件打包方式為pom,可以將兩種關(guān)系制作到同一個(gè)pom文件中
聚合與繼承均屬于設(shè)計(jì)型模塊,并無(wú)實(shí)際的模塊內(nèi)容
不同點(diǎn)
聚合是在當(dāng)前模塊中配置關(guān)系,聚合可以感知到參與聚合的模塊有哪些
繼承是在子模塊中配置關(guān)系,父模塊無(wú)法感知哪些子模塊繼承了自己
到此,關(guān)于“Maven的繼承與聚合實(shí)例分析”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。