文章目录
一、POM 文件是什么?
Maven的中心思想即POM文件((Project Object Model)
项目对象模型)。
POM文件是以XML文件的形式,描述项目用到的资源,如源码目录、测试代码目录、依赖(用到的外部Jar包)等。
pom.xml
是整个系统的基础组件,位于项目根目录下。
二、Maven 如何使用POM文件?
上图说明了Maven是如何使用POM文件的,当执行一条Maven命令的时候,会依次进行以下步骤:
1、读取项目根目录下的pom.xml
,并根据pom.xml
中的描述来执行下一步操作。
2、根据pom.xml
中的<dependencies>
,下载依赖到本地仓库中。
3、构建生命周期、阶段和目标。
4、构建插件。
三、POM文件的主要组成部分
POM文件描述的是构建“什么”,而不是“如何”构建。 如何构建是取决于Maven的构建阶段和目标。
每一个项目都有一个POM文件,即pom.xml,位于项目的根目录下。
pom.xml 主要包括以下几部分:
3.1 构建生命周期、阶段和目标
Maven的构建过程被分解为构建生命周期、阶段和目标。
<build> -> <phase> -> <goals>
-
一个构建周期由一系列的构建阶段组成。
-
每一个构建阶段由一系列的目标组成。
当我们使用一条命令来运行Maven的时候,这条命令就是构建生命周期、阶段或目标的名字。
-
如果执行的是一个生命周期,该生命周期内的所有构建阶段都会被执行。
-
如果执行的是一个构建阶段,在预定义的构建阶段中,所有处于当前构建阶段之前的阶段也都会被执行。
3.2 依赖和仓库
<repository> 仓库节点,<dependencies> 依赖节点
Maven执行时,其中一个首要目标就是检查项目的依赖(需要的jar 包)。
如果在本地仓库中不存在该依赖,则Maven会从中央仓库和远程仓库下载并放到本地仓库。(后面会单独讲解怎么修改本地仓库路径、怎么添加远程仓库)
3.3 构建插件
<plugins> 节点
构建插件可以向构建阶段中增加额外的构建目标。
如果Maven标准的构建阶段和目标无法满足项目构建的需求,可以在POM文件里增加插件。
Maven有一些标准的插件供选用,如果需要也可以自己实现插件。
3.4 配置文件
<profiles> 节点
配置文件用于以不同的方式构建项目。
比如,你可能需要在本地环境构建,用于开发和测试,你也可能需要构建后用于开发环境。这两个构建过程是不同的。
在POM文件中增加不同的构建配置,可以启用不同的构建过程。当运行Maven时,可以指定要使用的配置。
四、Maven 项目继承
1、父子工程中的POM
(以下内容中子项目