Maven多模塊工程Module開發(圖文教程)

這篇文章主要介紹了Maven多模塊工程Module開發(圖文教程),小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

使用IDEA創建多模塊開發

功能模塊來分module

跟java的package類似,一般是按照的功能模塊分module,比如:sso/cas/portal/activity/system,具體可根據需要

例如,在電商系統中如下module

--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等方式

--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需要手動配置如下

<modules>
  <module>module-test-web</module>
   <module>module-test-common</module>
   <module>module-test-order</module>
   <module>module-test-pay</module>
 </modules>

子module裏面配置如下:

<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方式,如:

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)就行了

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持神馬文庫。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章