You need to enable JavaScript to run this app. Spring Boot开发中Maven pom.xml的properties标签含义与可配置内容
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot开发中Maven pom.xml的properties标签含义与可配置内容

pom.xml中<properties>标签的具体含义

这个标签是Maven内置的全局配置区块,本质就是项目的集中配置字典:

  • 你可以把项目里需要反复用到的配置值统一写在这里,后续不管是写依赖版本、指定编译参数、调整插件行为,都可以通过${对应键名}的语法直接引用,不需要在各个位置把值硬编码写死
  • 后续要调整配置时,只需要改这个区块里的对应条目就行,不用在整个POM文件里逐处搜索替换,能大幅减少重复劳动,也能避免改漏导致的配置不一致问题
  • 在Spring Boot项目中,官方提供的父POM已经预设了大量默认的properties配置,你在自己项目的<properties>下写的同名条目,会自动覆盖父POM的默认值,非常方便做项目级的自定义调整
<properties>下可配置的常见内容

除了示例中的java.version(指定项目编译、运行匹配的JDK版本),日常开发中常用的配置项主要分几类:

  • 基础编译编码类配置
    • project.build.sourceEncoding:指定项目源码的编译编码,一般配置为UTF-8,避免跨平台协作、编译时出现中文乱码
    • project.reporting.outputEncoding:指定Maven生成项目文档、报告时的输出编码,通常同样配置为UTF-8
    • maven.compiler.source/maven.compiler.target/maven.compiler.release:指定Maven编译器可识别的Java代码语法版本、生成的字节码版本,部分低版本Maven环境下需要和java.version配合配置,不然容易出现编译版本不匹配的问题
  • 依赖版本统一管控类配置
    • 最常见的比如spring-cloud.version(指定和当前Spring Boot版本兼容的Spring Cloud版本,避免版本冲突)、mybatis-plus.version(指定MyBatis-Plus组件的使用版本)、lombok.version(指定Lombok工具的版本)
    • 这类配置没有强制的命名规则,你完全可以根据项目需要自定义任意依赖的版本键值,后续在<dependency>标签里用${对应键名}引用即可,能彻底解决多模块、多依赖场景下版本不一致、冲突的问题
  • 构建流程类配置
    • 比如spring-boot-maven-plugin.version(指定Spring Boot可执行Jar打包插件的版本)、maven-surefire-plugin.version(指定单元测试执行插件的版本)、project.build.finalName(指定构建完成后输出的Jar/War包文件名)
  • 自定义业务参数
    • 可以写入任意你需要的业务相关参数,比如接口对外版本号、环境标识、功能开关,这些值会在Maven的资源过滤环节,自动替换到项目的application.yml、代码模板等资源文件中,实现配置的动态适配

补充说明:<properties>中定义的配置优先级高于所有继承层级的父POM同名配置,会直接覆盖从上层继承来的默认值,修改后直接生效。

内容的提问来源于stack exchange,提问作者Abd Abughazaleh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.09 17:24:10