將原來(lái)product項(xiàng)目拆分為如下3個(gè)模塊
product-server //所有的業(yè)務(wù)邏輯
product-client //對(duì)外暴露的接口
product-common //公用的對(duì)象
1、在原有的項(xiàng)目上右擊,New->Module
2、選擇Maven選項(xiàng),archetype可以不選擇,直接next
3、填寫對(duì)應(yīng)的GroupId和ArtifactId即可,一直next,一直到finish
如果發(fā)現(xiàn)創(chuàng)建好的maven項(xiàng)目不能新增class文件,可以在對(duì)應(yīng)的文件夾上右鍵,將其添加為Sources Root即可;
4、查看外層pom文件
新增完所有的模塊之后,在最外層的pom文件會(huì)自動(dòng)將其引入進(jìn)來(lái)
5、版本管理
可以在properties中設(shè)置版本管理,方便以后升級(jí)之后的改動(dòng)
6、項(xiàng)目依賴
在微服務(wù)中,當(dāng)前項(xiàng)目很有可能依賴于其他服務(wù)的公用項(xiàng)目,這就需要我們先將其他其他服務(wù)的公用項(xiàng)目進(jìn)行打包,并且先放在我們的maven的本地倉(cāng)庫(kù),這樣當(dāng)前項(xiàng)目才可以進(jìn)行依賴,打包前,需要在公用的項(xiàng)目中輸入如下命令:mvn -Dmaven.test.skip=true -U clean install
(①-Dmaven.test.skip=true跳過(guò)測(cè)試用例;②-U為強(qiáng)制刷新;③clean清除原有target產(chǎn)生的jar包;④install將其打包放到本地的maven倉(cāng)庫(kù))
打包完成之后IDEA控制臺(tái)顯示如下:
在本地倉(cāng)庫(kù)顯示如下:
7、修改完項(xiàng)目結(jié)構(gòu)圖
8、理解maven命令package、install、deploy的聯(lián)系與區(qū)別
mvn clean package依次執(zhí)行了clean、resources、compile、testResources、testCompile、test、jar(打包)等7個(gè)階段。
mvn clean install依次執(zhí)行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install等8個(gè)階段。
mvn clean deploy依次執(zhí)行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install、deploy等9個(gè)階段。
由上面的分析可知主要區(qū)別如下,
package命令完成了項(xiàng)目編譯、單元測(cè)試、打包功能,但沒(méi)有把打好的可執(zhí)行jar包(war包或其它形式的包)布署到本地maven倉(cāng)庫(kù)和遠(yuǎn)程maven私服倉(cāng)庫(kù)
install命令完成了項(xiàng)目編譯、單元測(cè)試、打包功能,同時(shí)把打好的可執(zhí)行jar包(war包或其它形式的包)布署到本地maven倉(cāng)庫(kù),但沒(méi)有布署到遠(yuǎn)程maven私服倉(cāng)庫(kù)
deploy命令完成了項(xiàng)目編譯、單元測(cè)試、打包功能,同時(shí)把打好的可執(zhí)行jar包(war包或其它形式的包)布署到本地maven倉(cāng)庫(kù)和遠(yuǎn)程maven私服倉(cāng)庫(kù)
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/77030.html
摘要:允許將反序列化為沒(méi)有附加注釋元數(shù)據(jù)不可變的類。包的庫(kù)經(jīng)常會(huì)想支持多個(gè)版本的這樣做需要構(gòu)建一個(gè)為每個(gè)版本的支持工件它介紹了如何區(qū)分這些工件的問(wèn)題看到像不支持添加額外的元數(shù)據(jù)依賴關(guān)系的想法來(lái)指定他們需要什么版本的。 1.Defining a Lagom build(定義一個(gè)Lagom構(gòu)建) 正如在Lagom構(gòu)建哲學(xué)中已經(jīng)討論過(guò)的那樣,使用Lagom,您可以自由地將所有服務(wù)組合在一個(gè)單獨(dú)的構(gòu)...
摘要:記得在中支持多個(gè)子項(xiàng)目的構(gòu)建方法同樣的在中也會(huì)支持多項(xiàng)目的構(gòu)建方法還記得在中如何配置多項(xiàng)目工程嗎這里回憶一下首先我們需要一個(gè)父元素文件比如這樣而在中我們并不需要指定父元素的標(biāo)簽我們只需要編寫好對(duì)應(yīng)的文件夾名稱,并且將文件夾名稱和對(duì) 記得在maven中支持多個(gè)子項(xiàng)目的構(gòu)建方法,同樣的在gradle 中也會(huì)支持多項(xiàng)目的構(gòu)建方法 還記得在maven中如何配置多項(xiàng)目工程嗎, 這里回憶一下 首先...
摘要:的主要思想是約定優(yōu)于配置。強(qiáng)烈建議遵循以上規(guī)范,避免不必要的麻煩。依賴傳遞依賴范圍除了控制,還會(huì)對(duì)依賴傳遞產(chǎn)生影響。此外還提供了和來(lái)進(jìn)一步管理依賴,分別稱為可選依賴和排除依賴。 showImg(https://segmentfault.com/img/remote/1460000012363876?w=1240&h=698); Maven 是跨平臺(tái)的項(xiàng)目管理工具,主要服務(wù)于基于Java...
摘要:我們一般把自動(dòng)化測(cè)試劃分為三種分別是單元測(cè)試目的是測(cè)試代碼的最小單元。集成測(cè)試用來(lái)測(cè)試一個(gè)完成的組件或子系統(tǒng),確保多個(gè)類之間的交互是否按預(yù)期運(yùn)行。集成測(cè)試需要比單元測(cè)試需要更長(zhǎng)的執(zhí)行時(shí)間,而且更加難以維護(hù),失敗的原因難以診斷。 前言;為什么我們要用Gradle管理組件呢?先來(lái)看看Android組件化需要實(shí)現(xiàn)的目標(biāo)按照業(yè)務(wù)邏輯劃分模塊項(xiàng)目模塊能夠單獨(dú)啟動(dòng)測(cè)試能夠根據(jù)需求引入或刪除某些業(yè)務(wù)模塊通...
閱讀 2976·2021-11-08 13:20
閱讀 1041·2021-09-22 15:20
閱讀 671·2019-08-30 15:53
閱讀 1976·2019-08-30 15:43
閱讀 1290·2019-08-29 17:21
閱讀 546·2019-08-29 12:15
閱讀 2386·2019-08-28 17:51
閱讀 3154·2019-08-26 13:26