pom.xml 是 Maven 项目的 XML 格式核心配置文件,定义项目坐标(GAV)、依赖、构建行为及高级功能。1. 坐标含 groupId、artifactId、version 和 packaging;2. 依赖通过 dependency 声明并支持 scope 和 exclusions;3. build 配置 finalName、resources 和 plugins;4. parent、modules、profiles 和 distributionManagement 支撑多模块、环境适配与发布。
pom.xml 是 Maven 项目的核心配置文件,全称是 Projec
t Object Model(项目对象模型)。它用 XML 格式定义了项目的结构、依赖、构建行为、开发者信息等全部元数据。简单说,它是 Maven 知道“怎么编译你这个项目”的唯一依据。
每个 Maven 项目必须声明唯一的坐标(GAV),这是 Maven 区分和管理依赖的基础:
com.example),代表项目所属的命名空间user-service),不带空格和下划线,建议小写字母+短横线1.2.0),含 -SNAPSHOT 表示开发中快照版,可被自动覆盖更新jar,也可设为 war、pom(用于父工程)、maven-plugin 等所有外部库都通过 声明,Maven 自动解析传递依赖并下载到本地仓库:
至少包含 groupId、artifactId、version
控制依赖生效范围:compile(默认,编译+运行)、test(仅测试阶段)、provided(如 Servlet API,由容器提供)、runtime(如 JDBC 驱动) 排除某依赖带来的冲突子依赖 定义如何编译、打包、资源过滤等关键流程:
指定生成的 jar/war 文件名(不带版本后缀) 声明哪些目录下的配置文件需要参与构建,支持 true 启用占位符替换(如 ${project.version}) 是重点:每个插件对应一个构建任务,例如 maven-compiler-plugin 控制 JDK 版本,maven-surefire-plugin 管理单元测试执行这些标签支撑多模块协作、环境适配与发布管理:
:声明父 POM,实现版本、插件、依赖的统一管理(适合 Spring Boot 多模块项目):列出子模块路径,配合 mvn clean install 可一键构建整个聚合工程:按环境(dev/test/prod)切换配置,配合命令行 -Pprod 激活:指定部署目标仓库(如 Nexus *地址),配合 mvn deploy 发布构件