在多人使用Maven協做開發項目時,尤爲是稍微上點規模的項目,每一個RD的工做都細分到具體功能和模塊,有些模塊甚至還要單獨部署。web
咱們假設有這樣一個商城項目,包括如下幾個模塊:數據庫
其中shop和admin須要單獨部署,dao、service、util你可能想要一些經驗豐富的人來維護,若是使用一個應用來管理的話,全部的功能和模塊都會耦合在一塊兒,全部人均可以隨意修改代碼,這顯然不是咱們所指望的。api
並且使用一個應用來管理的話,任何一個點的代碼有變動,整個項目就須要從新build,使用模塊化開發的另外一個好處是若是dao的代碼被修改,只須要從新build dao模塊就能夠了。web模塊能夠build成war,dao、service、util等能夠build成jar,只須要配置好依賴關係,就能夠實現模塊間的解耦合。這樣的設計纔是遵循「高內聚,低耦合」設計原則的。模塊化
咱們使用上面的例子進行演示,先進行合理的優化,咱們但願dao和service做爲通用的底層工具來使用,把它們合併成一個核心模塊(core),build成core.jar,簡單的Maven模塊化項目結構以下:工具
---------- mall //頂級項目 |------ pom.xml //packaging = pom |------ mall-util //通用工具 | |--- pom.xml //packaging = jar |------ mall-core //核心模塊 | |--- pom.xml //packaging = jar |------ mall-web-api //接口模塊 | |--- pom.xml //packaging = war |------ mall-web-admin//管理後臺 | |--- pom.xml //packaging = war |------ mall-web-shop//商城前臺 | |--- pom.xml //packaging = war
這些模塊中api、admin、shop均是能夠單獨部署的web應用,相互之間沒有依賴關係,但都依賴於core模塊,而core模塊依賴於util模塊。接下來咱們按照上述肯定的結構來搭建項目結構。優化
原文ui
https://blog.csdn.net/u011404265/article/details/54891229spa