标签用于声明Maven项目继承的父项目,实现依赖版本统一管理、构建配置共享、属性标准化及多模块工程一致性,须包含groupId、artifactId、version三项。
标签是干什么用的 继承配置">
标签在 pom.xml 中用于声明当前 Maven 项目继承自哪个父项目,核心作用是**复用和统一管理依赖、插件、属性、构建配置等共性内容**。
统一依赖版本管理
父 POM 中定义的 可集中声明依赖的版本和范围,子模块只需写 groupId 和 ar
tifactId,无需指定 version,避免版本不一致问题。
- 父 POM 中写:2.7.12
- 子模块中写:spring-boot-starter-web(不写 version)
- Maven 自动按父定义的版本解析
共享构建配置与默认行为
父 POM 可预设编译源码版本、编码格式、插件配置(如 maven-compiler-plugin、maven-surefire-plugin)、资源过滤规则等,子项目自动继承,减少重复配置。
- 比如统一设 17 和 17
- 子模块不用再配 JDK 版本,也不会因遗漏导致编译失败
标准化项目结构与属性
通过 定义公共变量(如 spring-boot.version、project.build.sourceEncoding),子模块可用 ${xxx} 引用,便于全局替换和维护。
- 改一次父 POM 的属性值,所有子模块同步生效
- 适合多模块工程(如 common、service、api)统一技术栈
必须包含的关键子元素
一个有效的 至少要包含三项:
-
:父项目的组织 ID
-
:父项目的构件 ID
-
:父项目的版本号
- 可选:(默认 ../pom.xml,指向上级目录的父 POM;若父 POM 已发布到仓库,可省略)
基本上就这些。它不是“继承代码”,而是继承配置——让多模块项目更干净、可控、不易出错。