1 為什么要項(xiàng)目統(tǒng)一構(gòu)建
-
項(xiàng)目結(jié)構(gòu)如下,所有項(xiàng)目都依賴mall-common
mall-common代碼做出修改,其他項(xiàng)目都要進(jìn)行重新構(gòu)建與單元測試以檢測common修改是否影響項(xiàng)目的正常運(yùn)行;如項(xiàng)目未統(tǒng)一構(gòu)建,就需要每個(gè)項(xiàng)目單獨(dú)進(jìn)行構(gòu)建與單元測試,如果項(xiàng)目增多,就會進(jìn)行大量重復(fù)工作
2 如何統(tǒng)一構(gòu)建
- 新建父工程將各個(gè)模塊/項(xiàng)目聚合起來
- 對父工程運(yùn)行構(gòu)建命令污茵,此時(shí)maven會自動(dòng)對該父工程下的所有子模塊(工程)運(yùn)行相應(yīng)的構(gòu)建命令
- 一鍵自動(dòng)化構(gòu)建所有的模塊则剃,不要依次去構(gòu)建
3 項(xiàng)目中使用
<!--模塊統(tǒng)一放在父工程的目錄下-->
<groupId>com.mall.parent</groupId>
<artifactId>mall-parent</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
<modules>
<module>mall-common</module>
<module>mall-cart</module>
<module>mall-order</module>
<module>mall-search</module>
</modules>
---------------------------------------------------------------------------------------------------------
<!--多工程平級,則用類似于../mall-common相對路徑-->
<groupId>com.mall.parent</groupId>
<artifactId>mall-parent</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
<modules>
<module>../mall-common</module>
<module>../mall-cart</module>
<module>../mall-order</module>
<module>../mall-search</module>
</modules>
此時(shí)對mall-parent運(yùn)行mvn clean install,其下所有子模塊/工程都會進(jìn)行統(tǒng)一的構(gòu)建