maven 中 标签是定义全局常量最常用、最轻量的方式,用于统一管理版本号等重复值,支持全项目引用、父子模块继承,并推荐与 结合使用以确保版本一致性。

在 Maven 中,<properties></properties> 标签是定义全局常量最常用、最轻量的方式,特别适合统一管理版本号、依赖坐标、插件配置等重复值。它不依赖额外插件,原生支持,修改一处即可全项目生效。
用 定义版本常量
在 pom.xml 的 <properties></properties> 块中声明自定义属性,例如:
这些属性可在整个 POM 中通过 ${spring-boot.version} 形式引用,比如在 <dependencies></dependencies> 或 <plugin></plugin> 中复用。
在依赖和插件中引用属性
把版本号抽成属性后,所有依赖声明只需写一次变量,避免硬编码:
- 依赖示例:
org.springframework.boot
spring-boot-starter-web
${spring-boot.version} - 插件示例:
org.springframework.boot
spring-boot-maven-plugin
${spring-boot.version}
父子模块间共享属性(多模块项目)
在父 POM 中定义 <properties></properties>,子模块自动继承,无需重复声明:
- 父 POM 写好公共版本,如
<java.version>17</java.version> - 子模块的
<properties></properties>可覆盖或补充,不影响父级定义 - 子模块引用时仍用
${java.version},Maven 会按继承链解析
配合 dependencyManagement 统一依赖版本
仅靠 <properties></properties> 还不够严谨——它只是字符串替换。更推荐组合使用 <dependencymanagement></dependencymanagement>:
- 在父 POM 的
<dependencymanagement></dependencymanagement>中用属性声明依赖版本 - 子模块只写
<groupid></groupid>和<artifactid></artifactid>,省略<version></version> - 这样既保证版本集中控制,又避免子模块意外指定不同版本
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











