使用idea創建多模塊開發
功能模塊來分module
跟java的package類似,一般是按照的功能模塊分module,比如:sso/cas/portal/activity/system,具體可根據需要
例如,在電商系統中如下module
1
2
3
4
5
6
7
8
9
10
|
--module-test-common公共部分 --module-test-picture圖片 --module-test-order訂單 --module-test-checkout購物車 --module-test-pay支付 --module-test-catory類目 --module-test-product商品 --module-test-price價格 --module-test-account賬號 ... |
組織架構分dao/service/controller/model等方式
1
2
3
4
5
6
7
8
|
--module-test-service --module-test-model --module-test-controller --module-test-dao --module-test-common --module-test-util --module-test-job ... |
以上兩種方式都可以,現在更多的應該是傾向第一種按照功能來解耦,module前期可以配置成jar,后期也可以建立獨有的頁面,獨立的站點,通過子域名的方式訪問,各個功能模塊解耦,趨向微服務架構
創建項目
步驟:
file –> new –> project –> maven
next
填寫groupid和artifactid –> next
完成
將工程的src和其他的目錄全部刪除,只剩下pom.xml,修改pom.xml的<packageing>
file –> new –> module,選中【create from archetype】,選中【org.apache.maven.archetypes:maven-archetype-webapp】
如果不用快速骨架生成的方式,需要將該module的pom.xml設置為<packaging>war</packaging>
創建別的模塊,別的模塊使用maven-archetype-quickstart
備注:如果不用快速骨架生成的話,則pom.xml需要配置成建好`<packaging>jar</packaging>`,并且父類的parent項目的pom.xml需要手動配置如下
1
2
3
4
5
6
|
<modules> <module>module-test-web</module> <module>module-test-common</module> <module>module-test-order</module> <module>module-test-pay</module> </modules> |
子module里面配置如下:
1
2
3
4
5
|
<parent> <artifactid>module-test</artifactid> <groupid>com.nick</groupid> <version> 1.0 -snapshot</version> </parent> |
如下圖所示:
部署多module項目
tomcat跟普通maven項目類似的方式配置
根據自己的需要在每個module添加module所需要的依賴
file –> project stucture
點擊modules,當項目的jdk是1.8的時候,配置每個module的language level為對應的jdk的level
facets
- 檢查facets右邊的【deplyment descriptors】,必須是指向web.xml
- 檢查facets右邊的【web resource directories】,必須是選中webapp的目錄,類似普通非maven的項目需要指向webroot或者webcontent目錄
artifacts
這個配置很重要!這個配置很重要!這個配置很重要!
沒配置之前如下:
使用源碼模式將編譯后的文件輸出到classes下面
點擊運行tomcat(不會在idea上面部署普通maven非多module項目的請自行百度)
module也可以使用多層級的module方式,如:
1
2
3
4
5
|
module-test --- module-test-common --- module-test-platform --- --- module-test-platform-a --- --- module-test-platform-b |
由上可知:
1. module-test-platform-a和module-test-platform-b的parent是module-test-platform
2. module-test-platform和module-test-common的parent是module-test
上面配置要實現的話,也很簡單,只需要將module-test-platform的pom.xml里面配置成<packaging>pom</packaging>
,然后module-test-platform-a和module-test-platform-b的parent都以來module-test-platform的gav(maven三要素:groupid/artifactid/version)就行了
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。
原文鏈接:https://blog.csdn.net/wu6660563/article/details/71698821