视频链接:https://www.bilibili.com/video/BV1kg4y187td?vd_source=9545770e4a2968c05878ffac8589ec6c
视频选集:P1 — P20
文章目录
1.Maven管理多模块应用
1.1 场景介绍
commonModel:提供公共的基础服务,比如工具类、常量类等等;
bussinessModel:业务模块,是系统真正要实现的业务,依赖于common模块,比如订单管理、财务统计、会员管理等;
application:可发布的web应用,由各个bussinessModel组成,最终满足项自整体需求;
第三方模块:包括各类框架,Spring、MyBatis、日志等。整个应用都是依赖它们完成开发的;
2. 如何使用Maven管理以上的结构
Maven管理多模块应用的实现是互联网项目中多使用分布式开发,那么每个独立的服务都会使用独立的项目进行维护,那么这样就需要使用多模块应用管理,来实现项目的高度统一。
第一种方式
2.1 创建父工程
maven父工程必须遵循以下两点要求:
- packaging标签的文本内容必须设置为pom
- 把src删除掉
pom是项目对象模型(Project object Module),该文件是可以被子工程继承。maven多模块管理其实就是让它的子模块的pom文件来继承父工程的pom文件
2.2 创建java子工程
New —>New Module—>Maven
2.3 创建web子工程
2.4 修改子工程为父工程
2.5 手动修改Maven工程为子工程
2.6 子模块继承父工程所有依赖
父工程添加的依赖,所有子模块会无条件的去继承
2.7 父工程管理依赖
使用dependencyManagement对dependencies
2.8 子工程声明式继承父工程依赖
子模块依赖的版本号继承父工程依赖的版本号,因此在子工程中不需要写
如果子模块指定依赖的版本号那就不会继承父工程依赖的版本号
2.9 父工程管理依赖版本号
第二种方式
3.1 创建父工程
3.2 创建子工程
add as module to 和第一种方法是不一样的
在子工程中:【因为在同一个目录下】
在父工程中:
3.3 创建子工程的子工程
3.4 父工程管理依赖
同第一种方法
3.5 父工程管理依赖的版本号
同第一种方法
3.6 子工程继承父工程编译插件
父工程中添加了插件,就不需要在子工程中添加插件
第三种方式
工作中第一种用的比第二种多
第三种是第一种和第二种的混合使用情况