pom.xml核心标签包括基础信息、依赖管理、构建配置及模块继承,用于定义项目结构与行为。

Maven 的 pom.xml 是项目构建的核心配置文件,它定义了项目的结构、依赖、插件、构建行为等。理解其常用标签的含义和用法,对高效使用 Maven 至关重要。以下是关键标签的详细说明,帮助你快速掌握 pom.xml 的配置方法。
1. 基础信息标签
这些标签用于描述项目的基本信息,是每个 pom.xml 必备的部分。
- groupId:定义项目所属的组织或团队,通常使用反向域名(如 com.example)。
- artifactId:当前项目的唯一标识名称,一般为模块名。
- version:项目的版本号,格式常为 major.minor.patch-SNAPSHOT(快照版)。
- packaging:打包类型,默认为 jar,可选 war、pom、ear 等。
- name:项目名称,用于展示。
- description:项目简要说明。
- url:项目主页地址。
com.example my-app 1.0.0-SNAPSHOT jar My Application A sample Maven project http://example.com/my-app
2. 依赖管理:dependencies 与 dependencyManagement
控制项目所依赖的外部库及其版本。
- dependencies:直接声明项目使用的依赖项,子标签包括 groupId、artifactId、version、scope 等。
- dependencyManagement:统一管理依赖版本,不实际引入依赖,常用于父 POM 中,子模块继承后可省略版本号。
-
scope:依赖的作用范围,常见值有:
- compile:默认值,编译、测试、运行都有效。
- test:仅测试时有效(如 JUnit)。
- provided:编译和测试有效,运行由 JDK 或容器提供(如 Servlet API)。
- runtime:编译不需要,但运行和测试需要(如 JDBC 驱动)。
- system:类似 provided,需指定本地路径(不推荐)。
junit junit 4.13.2 test
3. 构建配置:build 标签
定义项目的编译、资源处理、插件等构建行为。
- sourceDirectory:指定源码目录,默认 src/main/java。
- testSourceDirectory:测试源码目录,默认 src/test/java。
- resources:包含非 Java 资源文件(如 properties、xml),可配置过滤和编码。
- plugins:配置构建过程中使用的 Maven 插件,如 compiler、surefire、jar/war 插件。
- finalName:生成的包文件名(不含扩展名)。
src/main/java src/main/resources true org.apache.maven.plugins maven-compiler-plugin 3.11.0 11 11 myapp
4. 父项目与模块管理
适用于多模块项目或使用统一父配置的场景。
- parent:继承父 POM,复用配置(如版本、依赖管理、插件)。
- modules:在 packaging 为 pom 的项目中,列出子模块目录名,实现聚合构建。
org.springframework.boot spring-boot-starter-parent 3.1.0 my-app-common my-app-service
基本上就这些核心标签。掌握它们能让你灵活控制 Maven 项目的结构与行为。配置时注意层级关系和命名规范,避免冲突。合理使用 dependencyManagement 和 parent 可提升项目可维护性。不复杂但容易忽略细节,建议结合 IDE 辅助编写。










