將原來product專案拆分為如下3個模組
product-server //所有的業務邏輯
product-client //對外暴露的介面
product-common //公用的物件
1、在原有的專案上右擊,New->Module
2、選擇Maven選項,archetype可以不選擇,直接next
3、填寫對應的GroupId和ArtifactId即可,一直next,一直到finish
如果發現建立好的maven專案不能新增class檔案,可以在對應的資料夾上右鍵,將其新增為Sources Root即可;
4、檢視外層pom檔案
新增完所有的模組之後,在最外層的pom檔案會自動將其引入進來
5、版本管理
可以在properties中設定版本管理,方便以後升級之後的改動
6、專案依賴
在微服務中,當前專案很有可能依賴於其他服務的公用專案,這就需要我們先將其他其他服務的公用專案進行打包,並且先放在我們的maven的本地倉庫,這樣當前專案才可以進行依賴,打包前,需要在公用的專案中輸入如下命令:mvn -Dmaven.test.skip=true -U clean install
(①-Dmaven.test.skip=true跳過測試用例;②-U為強制重新整理;③clean清除原有target產生的jar包;④install將其打包放到本地的maven倉庫)
打包完成之後IDEA控制檯顯示如下:
在本地倉庫顯示如下:
7、修改完專案結構圖
8、理解maven命令package、install、deploy的聯絡與區別
mvn clean package依次執行了clean、resources、compile、testResources、testCompile、test、jar(打包)等7個階段。
mvn clean install依次執行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install等8個階段。
mvn clean deploy依次執行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install、deploy等9個階段。
由上面的分析可知主要區別如下,
package命令完成了專案編譯、單元測試、打包功能,但沒有把打好的可執行jar包(war包或其它形式的包)佈署到本地maven倉庫和遠端maven私服倉庫
install命令完成了專案編譯、單元測試、打包功能,同時把打好的可執行jar包(war包或其它形式的包)佈署到本地maven倉庫,但沒有佈署到遠端maven私服倉庫
deploy命令完成了專案編譯、單元測試、打包功能,同時把打好的可執行jar包(war包或其它形式的包)佈署到本地maven倉庫和遠端maven私服倉庫