pom.xml 是 Maven 项目的配置核心,定义坐标(groupId、artifactId、version)、基础配置(modelVersion、properties)、依赖管理(dependencies、scope)、构建插件(build、plugins)等,缺一不可。
pom.xml 是 Maven 项目的“心脏”,它用 XML 描述项目的一切:你是谁、依赖什么、怎么打包、用什么 Java 版本、测试怎么跑……没它,Maven 就不知道从哪下手。
每个 Maven 项目必须有 groupId、artifactId 和 version,三者合起来叫“坐标”,就像身份证号一样不可重复。
com.example 或 org.springframework.boot
user-service、common-utils
1.2.0、2.0.0-SNAPSHOT(带 SNAPSHOT 表示开发中)jar,Web 项目常用 war,父模块用 pom
modelVersion 是固定值 4.0.0,代表当前 POM 遵循的规范版本,不能改。
properties 块用来定义可复用的变量,避免硬编码:
17 控制编译和运行的 JDK 版本UTF-8 统一源码编码3.2.0 方便在 dependency 中引用dependencies 是最常修改的部分,每项 至少含 groupId、artifactId;version 可省略(若由父 POM 或 dependencyManagement 统一管理)。
scope 决定依赖生效范围:compile(默认,全阶段可用)、test(仅测试编译/运行时)、provided(如 servlet-api,打包时不包含,容器已提供) 主动排除冲突的传递依赖,比如排除 log4j 而保留 slf4jspring-boot-starter-parent,它已预设好常用依赖版本,减少手动指定build 块控制编译、打包、插件行为。常见操作包括:
或 自定义源码/资源路径
maven-compiler-plugin 显式指定 source 和 target 版本(即使 properties 里写了,也建议再确认)spring-boot-maven-plugin 才能生成可执行 jartrue ,但上线前务必关掉基本上就这些。pom.xml 不复杂,但细节多、容错低——一个拼写错误或标签闭合遗漏就会导致构建失败。建议从官方脚手架(如 start.spring.io)生成基础 pom 开始,再逐步按需调整。