色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術(shù)文章
文章詳情頁

Idea中SpringBoot多模塊項(xiàng)目的建立實(shí)現(xiàn)

瀏覽:82日期:2023-09-27 09:07:26

What

內(nèi)含一個(gè)或多個(gè)maven模塊的SpringBoot項(xiàng)目稱為SpringBoot多模塊項(xiàng)目

Why

便于維護(hù) 將一個(gè)大的單體項(xiàng)目分成多個(gè)子模塊有利于模塊間的維護(hù), 刪除或移動(dòng)單個(gè)模塊時(shí)對(duì)其他模塊的影響也比較小 單個(gè)模塊還可以復(fù)用

共享依賴 只需要在父類中定義公共的依賴項(xiàng),子類模塊都會(huì)共享父類的依賴項(xiàng) 在大型項(xiàng)目中會(huì)使得代碼更容易簡(jiǎn)潔。

How

1.父模塊

創(chuàng)建父項(xiàng)目(SpringBoot)

Idea中SpringBoot多模塊項(xiàng)目的建立實(shí)現(xiàn)

刪除不需要的目錄

去除src .mvn mvnw mvnw.cmd 文件

Idea中SpringBoot多模塊項(xiàng)目的建立實(shí)現(xiàn)

pom

packaging標(biāo)簽 打包方式改為'pom', 表示這個(gè)模塊是 聚合模塊 把子類模塊都'聚合'起來 使用maven打包,可以從這個(gè)模塊開始,會(huì)自動(dòng)計(jì)算打包順序

<packaging>pom</packaging>

dependencies與dependencyManagement標(biāo)簽

1. dependencies將依賴放入標(biāo)簽中 子模塊會(huì)自動(dòng)引入父類的的依賴

2. dependencyManagement將依賴放入標(biāo)簽中 子模塊 不會(huì) 自動(dòng)引入父類的的依賴 還需要在子類中聲明一次依賴 GAV中 不需要 聲明version標(biāo)簽,version同父類中的一致

父類pom文件demo

<!--父類: springboot自帶的啟動(dòng)類父類--><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.2.4.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><!--創(chuàng)建時(shí)填寫的基本信息--><groupId>com.ybj</groupId><artifactId>my-app</artifactId><version>0.0.1-SNAPSHOT</version><name>my-app</name><description>springboot多項(xiàng)目</description><!--父類的packing只能是pom--><packaging>pom</packaging><!-- 子類直接繼承--> <dependencies><!-- 子類需要在pom中 手動(dòng)加入依賴(version不用寫)--> <dependencyManagement>

modules標(biāo)簽 這個(gè)標(biāo)簽管理的是被聚合的模塊 當(dāng)新建子模塊時(shí),modules會(huì)自動(dòng)添加單個(gè)的module標(biāo)簽

啟動(dòng)類

父模塊啟動(dòng)類,是整個(gè)模塊的啟動(dòng)類 所有的請(qǐng)求都走父模塊的端口 為了使子模塊的服務(wù)也能啟動(dòng),需要在父模塊啟動(dòng)類上加入注解

@ComponentScan(basePackages = {'com.ybj.*',})

2.子模塊

1.創(chuàng)建子模塊

選擇Module

Idea中SpringBoot多模塊項(xiàng)目的建立實(shí)現(xiàn)

選擇maven項(xiàng)目

Idea中SpringBoot多模塊項(xiàng)目的建立實(shí)現(xiàn)

輸入具體信息

Idea中SpringBoot多模塊項(xiàng)目的建立實(shí)現(xiàn)

2.pom

packaging標(biāo)簽 這里可以選擇jar或者war 指定打包方式

parent 子類pom中的parent自動(dòng)指向了父類的GAV 子類會(huì)自動(dòng)引入父類pom中 dependencies 的中依賴項(xiàng)

<!-- 父類:自動(dòng)選擇了父類--> <parent> <artifactId>my-app</artifactId> <groupId>com.ybj</groupId> <version>0.0.1-SNAPSHOT</version> </parent>

模塊間依賴 需要依賴某個(gè)模塊,可以在pom中聲明 這里的依賴是從本地倉(cāng)庫(kù)下載的,不是遠(yuǎn)程倉(cāng)庫(kù)

Maven Helper插件 在idea中安裝maven helper插件 點(diǎn)擊pom文件,選擇 Dependency Analyzer

Idea中SpringBoot多模塊項(xiàng)目的建立實(shí)現(xiàn)

即可查看并搜索依賴項(xiàng),這對(duì)于解決依賴沖突很有幫助

Idea中SpringBoot多模塊項(xiàng)目的建立實(shí)現(xiàn)

4.打包

方式1:聚合模塊直接打包

在聚合模塊打包,會(huì)自動(dòng)計(jì)算依賴順序,依次打包

Idea中SpringBoot多模塊項(xiàng)目的建立實(shí)現(xiàn)

依次執(zhí)行 clean 與 install maven會(huì)自動(dòng)計(jì)算構(gòu)建順序

Idea中SpringBoot多模塊項(xiàng)目的建立實(shí)現(xiàn)

方式2:使用插件

方式1的問題就是耗費(fèi)時(shí)間長(zhǎng), 因?yàn)槭侨看虬?所以就需要實(shí)現(xiàn)單個(gè)模塊打包 這里需要借助spring-boot-maven-plugin插件

<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>2.3.0.RELEASE</version><executions><execution><goals><goal>repackage</goal></goals></execution></executions></plugin></plugins></build>

5. 常見問題

依賴沖突

因?yàn)樽宇悤?huì)繼承父類的依賴項(xiàng),所以可能 導(dǎo)致依賴沖突,從而使項(xiàng)目無法啟動(dòng)。 這里可以使用maven helper插件進(jìn)行沖突的排查

到此這篇關(guān)于Idea中SpringBoot多模塊項(xiàng)目的建立實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Idea中SpringBoot多模塊內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Spring
相關(guān)文章:
主站蜘蛛池模板: 亚洲国产日韩在线 | 亚洲欧美专区精品久久 | 美女图片1314mm爽爽爽 | 国内自拍第一页 | 欧美亚洲国产精品 | 国产精品亚洲二线在线播放 | 亚洲欧洲日产国产 最新 | 欧美日韩精品国产一区二区 | 一区欧美| 一级特级欧美aaaaa毛片 | 手机在线观看a | 国产永久免费视频m3u8 | 99re6这里有精品热视频在线 | 精品日韩二区三区精品视频 | 一本综合久久 | 亚洲国产成人久久一区二区三区 | 高清不卡毛片免费观看 | 国产精品久久久久久免费 | 亚洲视频在线免费播放 | 成人国产欧美精品一区二区 | 欧美69精品国产成人 | 欧美亚洲国产精品久久久 | 特级毛片 | 欧美人成在线 | 久草在线资源视频 | 亚洲精品久久99久久一区 | 欧美黄色xxx | 400部大量精品情侣网站 | 美女张开腿黄网站免费 | 97公开视频 | 黄色成人在线观看 | 欧洲一级鲁丝片免费 | 欧美怡红院免费全视频 | 91天堂网 | 男人精品一线视频在线观看 | 日韩特黄特色大片免费视频 | 国产乱子伦视频大全 | 97超级碰碰碰久久久观看 | 国产成人精品福利网站人 | 91久久精品 | 欧美视频在线观看 |