开发环境
基于:IntelliJ IDEA、Maven构建工具、JDK1.8、SpringBoot 2.3.4 、Spring4.3.28编写。
官人如需使用 IDEA 请阅读教程:IntelliJ IDEA
官人如需使用 Maven 请阅读教程:Maven 构建工具的下载与安装
更多干货
请参考:《穿越 Java 之 语法基础篇》 系列文章
请参考:《穿越 Java 之 Web基础篇 》系列文章
请参考:《穿越 Java 之 开发必备框架篇 》 系列文章
请阅读:《穿越 Java 之 SpringBoot框架篇》系列文章
请阅读:《穿越 Java 之 SpringCloud微服务架构篇》 系列文章
场景1
-
整个大的项目 PROJ 分成了 ModuleA 、 ModuleB, B依赖A。
A必须开发完以后maven install项目B才能编译通过。随着模块更多,加入了ModuleC , C依赖B。
C要想正确编译,先安装A,再安装B,它才能编译通过。 -
所以,我们需要一种机制:
在整体项目上执行各种操作的时候,项目下的各模块自动执行相应的操作。
在 PROJ 上执行 maven install:
即项目的聚合
场景2
- 项目是基于Spring技术栈来开发的, ModuleA 、 ModuleB、ModuleC很可能是不同的项目组来开发的,如何统一管理项目中的依赖呢?其次,重复的配置怎么办?
- 所以,也需要一种机制
- 让PROJ项目来做整体的版本控制和公共依赖的配置,这样的话,它下面的子模块只需要差异化配置即可。
即项目的继承
父项目工程
-
不包含任何代码,也就是说不包含
src目录

-
其打包方式是
pom,<packaging>pom</packaging>如下图:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aN08vuA1-1602212199791)(imges/image-20201009093545892.png)]](https://i-blog.csdnimg.cn/blog_migrate/d52b1ecdd4a7b9a527d2b08f3ba39928.png#pic_center)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lOME2tDK-1602212199793)(imges/image-20201009094001401.png)]](https://i-blog.csdnimg.cn/blog_migrate/a284687d322f2cc307a3ee271cd401db.png#pic_center)
-
做一些配置,如 版本控制 或一些公共的依赖。

子项目工程
- 子工程还可以是另外的一个 pom 类型的工程:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y3WpeP9A-1602212199797)(imges/image-20201009093857311.png)]](https://i-blog.csdnimg.cn/blog_migrate/de890fde31cc3ad542a60298bd0fc5e4.png#pic_center)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-96HCoCad-1602212199799)(imges/image-20201009094655633.png)]](https://i-blog.csdnimg.cn/blog_migrate/050e4c286b170033810a9f700df98052.png#pic_center)
- 最后测试一下执行1009的 install操作。



本文介绍如何使用Maven进行项目模块化管理,包括模块间的依赖处理及版本控制。通过具体场景展示了聚合与继承的概念,帮助开发者更好地组织大型项目。
5579





