multi-module-parent是主工程,裏面包含兩個模塊(Module): java
module-web是應用層,用於界面展現,依賴於module-core參的服務。 module-core層是服務層,用於給web層提供服務。git
以上兩種方式均可以,如今更多的應該是傾向第一種按照功能來解耦,module前期能夠配置成jar,後期也能夠創建獨有的頁面,獨立的站點,經過子域名的方式訪問,各個功能模塊解耦,趨向微服務架構跟java的package相似,通常是按照的功能模塊分module,好比:sso/cas/portal/activity/system,具體可根據須要github
新建一個空白標準maven project(不要選擇Create from archetype選項) web
填寫項目座標,獲得一個標準的maven項目,由於該項目是做爲一個Parent project存在的,能夠直接刪除src文件夾(父文件下只有本身的pom文件和模塊文件)。選擇從archetype建立(選擇webapp選項) 編程
groupId和version繼承自Parent project,這裏只須要填寫artifactId便可。注意:這裏Add as module to 有的人會刪除,若是刪除了建立的模塊文件就會和父模塊(parent)同級了,這裏看我的喜歡。文件夾結構怎麼樣都行,重要的pom文件裏面的父子結構要設置正確。架構
用一樣的方法建立module-core模塊(不過該模塊是一個空白maven標準項目,不要從archetype建立) app
1,Parent project和各個Module擁有獨立pom文件 2,Parent project用於組織不一樣的Module,不實現邏輯 3,Module集成Parent project的groupId和version,Module只須要指定本身的artifactId便可。webapp
此外還須要在web的pom文件中增長對core的依賴,這個主要是爲了web裏面的Java模塊調用core的服務: jsp
以上,項目依賴的添加已經完成。在core模塊中增長一個Service類(SimpleService.java): maven
修改web下的jsp文件,調用core服務: