简介
POM是Maven工程的基本工作单元,也是Maven的核心。它是一个XML文件,包含项目的基本信息,用于描述项目如何构建、声明项目依赖等。
在执行任务或目标时,Maven会现在当前目录中查找pom.xml文件,然后获取所需的配置信息,再执行目标。
元素介绍
- dependencies
在此元素下添加依赖,它可以包含多个< dependency>依赖。 - dependency
< dependency>与< /dependency>之间有3个标识,分别如下。
- groupId: 定义隶属的实际项目,坐标元素之一。
- artifactId:定义项目中的一个模块,坐标元素之一,可以标识唯一的项目或库。
- version:依赖或项目的版本,坐标元素之一。
- scope
如果有一个在编译时需要而发布时不需要的JAR包,则可以用scope标签标记该包,并将其值设为provided。scope标签的参数见下表:
参数 | 描述 |
---|---|
compile | scope的默认值,表示被依赖项目需要参与当前项目的编译、测试、运行阶段,是一个比较强的依赖。打包时也要包含进去 |
provided | provided表示打包时可以不用打包进去,Web Container会提供。该依赖理论上可以参与编译、测试、运行等周期 |
runtime | 表示dependency不作用在编译阶段,但会作用在运行和测试阶段,如JDBC驱动适用运动和测试阶段 |
system | 和provided相似,但是在系统中要以外部JAR包的形式提供,Maven不会再repository中查找它 |
test | 表示dependency作用在测试阶段,不作用在运行阶段。只在测试阶段使用,用于编译和运行测试代码。不会随项目发布 |
- properties
如果要使用自定义的变量,则可以在< properties>< /properties>元素中进行变量的定义,然后在其他节点中引用该变量。它的好处是:在依赖配置时引用变量,可以达到统一版本号的目的。 - plugin
在创建Spring Boot项目时,默认提供了spring-boot-maven-plugin插件。它提供打包时需要的信息,将Spring Boot应用打包为可执行的JAR或WAR文件。