maven的继承特性

当多个子工程中导入依赖的版本可能不一致,要解决版本不同的问题

思路1:直接在父工程中引入依赖
问题:所有的子工程都引入依赖,使得不需要的子工程被迫引入了该依赖
思路2:父工程不引入依赖,只做依赖版本的声明,(并没有引入依赖)
子工程只需要写gav标签中的ga,版本v去父工程中找到。

它背后的需求是:
- 多个模块要使用同一个框架,它们应该是同一个版本,所以整个项目中使用的框架版本需要
统一管理。
- 使用框架时所需要的jar包组合(或者说依赖信息组合)需要经过长期摸索和反复调试,最
终确定一个可用组合。这个耗费很大精力总结出来的方案不应该在新的项目中重新摸索。

通过在父工程中为整个项目维护依赖信息的组合既保证了整个项目使用规范、准确的jar包;又
能够将以往的经验沉淀下来,节约时间和精力。

一般父工程的都是pom,父工程不打包,也不写代码

直接在父工程的项目下新建模块,就自动是父子工程的关系了:
tmpE247.png
(子工程的配置文件)

在父工程的pom.xml 文件中声明版本信息(声明和导入不一样):
tmp1829.png

2025-09-07_11-09-34-0.png