一、简介
用Maven管理的真实的项目都应该是分模块的,每个模块都对应着一个pom.xml。它们之间通过继承和聚合(也称作多模块,multi-module)相互关联.模块之间关系结构比较清晰。例如:
一个简单的Maven模块结构是这样的:
---- app-parent
|-- pom.xml (pom)
|
|-- app-util
| |-- pom.xml (jar)
|
|-- app-dao
| |-- pom.xml (jar)
|
|-- app-service
| |-- pom.xml (jar)
|
|-- app-web
|-- pom.xml (war)
上述简单示意图中,有一个父项目(app-parent)聚合很多子项目(app-util, app-dao, app-service, app-web)。每个项目,不管是父子,都含有一个pom.xml文件。而且要注意的是,小括号中标出了每个项目的打包类型。父项目是pom,也只能是pom。子项目有jar,或者war。根据它包含的内容具体考虑。
这些模块的依赖关系如下:
app-dao --> app-util
app-service --> app-dao
app-web --> app-service
注意依赖的传递性(大部分情况是传递的,除非你配置了特殊的依赖scope),app-dao依赖于app-util,app-service依赖于app-dao,于是app-service也依赖于app-util。同理,app-web依赖于app-dao,app-util。
二、具体步骤
1. 创建父工程
点击右键New-选择Maven,选择 Maven project. 这Maven project 和 Maven Module 区别 在 project 是父工程 ,Module 是创建子工程.

填写 group id, artifact id 这里packageing 选择 pom


2. 创建子工程
点击app-parent 右键 创建 maven module 子工程,这里除了app-web 选择 war, 其它类型都选择jar


几个子工程创建完后,结构目录如下所示:

3. pom.xml配置文件
(1)app-parent

(2)app-web

(3)app-service

(4)app-dao、app-until按照依赖自行配置
4. 进入app-parent,执行安装
5. 进入app-web,自动发布到服务器。(cargo的自动配置,不常用,了解即可)
传统的Maven分模块开发
【具体参考】https://www.cnblogs.com/xdp-gacl/p/4242221.html
springboot的Maven分模块开发
【具体参考】https://blog.youkuaiyun.com/weixin_38552969/article/details/80435315