dependencyManagement作用
1. 确保多模块间依赖版本一致
在父 POM 中定义依赖的版本、作用域(Scope)、排除项(Exclusions)等,子模块引用这些依赖时无需指定版本
2.灵活覆盖
子模块可以按需覆盖父 POM 中定义的版本或配置,但默认继承父级设置,平衡了一致性与灵活性。
例子
假设有一个多模块 Maven 项目,结构如下:
parent-project(父 POM)
├── child-module-1(子模块 1)
└── child-module-2(子模块 2)
3.支持 BOM 导入
通过 <scope>import</scope> 导入第三方 BOM(如 Spring Boot 的依赖管理),直接复用其预定义的版本配置。
什么是BOM?
在 Maven 中,BOM(Bill of Materials,材料清单) 是一种特殊的 POM 文件,用于统一管理一组相关依赖的版本。通过 <scope>import</scope> 导入 BOM,可以简化依赖版本管理,确保依赖间的兼容性。
BOM 的核心作用
- 统一版本控制
第三方库或框架(如 Spring Boot、Jakarta EE)通过 BOM 定义其所有组件的兼容版本,避免用户手动指定版本。 - 简化依赖声明
项目只需导入 BOM,后续声明依赖时无需手动指定版本,直接复用 BOM 中预定义的版本。 - 解决依赖冲突
确保项目中相关依赖的版本相互兼容,减少因版本不匹配导致的问题。
如何导入 BOM?
dependencyManagement 与 dependencies区别
