Maven构建生命周期,阶段和目标

时间:2020-02-23 14:41:34  来源:igfitidea点击:

什么是Maven构建生命周期?

当我们构建Maven项目时,它会基于项目pom.xml配置和命令行选项执行一组明确定义的任务。
这组标准任务创建了Maven构建生命周期。

明确定义生活方式的好处是,我们只需要记住几组命令即可编译,构建,安装和部署我们的项目。

推荐读物:20多个Maven命令和选项(速查表)

内置的构建生命周期

有三个内置的构建生命周期。

  • 默认值:处理项目构建和部署
  • 清洁:处理项目清洁
  • 站点:处理项目站点文档的创建

Maven构建阶段

Maven构建生命周期经历了一系列阶段,这些阶段称为构建阶段。
例如,默认生命周期由以下几个阶段组成。

  • 验证
  • 编译
  • 测试
  • 校验
  • 安装
  • 部署

构建阶段按顺序执行。
运行maven build命令时,我们指定要执行的阶段。
在指定阶段之前的所有Maven构建阶段也将执行。
例如,如果我们运行mvn package,它将执行项目的验证,编译,测试和打包阶段。

Maven构建目标

构建阶段由一组目标组成。
Maven目标代表一项特定的任务,有助于项目的构建和管理。

有时,行家目标并不局限于构建阶段。
我们可以通过命令行执行这些目标。

执行目标的语法为:

$mvn plugin-prefix:goal

$mvn plugin-group-id:plugin-artifact-id[:plugin-version]:goal

这是一个从命令行执行依赖关系树目标的示例。
它不属于任何构建阶段。

mvn dependency:tree

POM在构建生命周期中的作用

通过命令行执行的Maven构建运行一系列阶段和目标。
pom.xml配置在设置项目构建生命周期中起主要作用。

pom.xml文件的" packaging"值定义了maven构建要执行的目标集。
例如,如果是" jar",则将执行以下阶段和目标。

PhaseGoal
process-resourcesresources:resources
compilecompiler:compile
process-test-resourcesresources:testResources
test-compilecompiler:testCompile
packagejar:jar
installinstall:install
deploydeploy:deploy

我们还可以使用plugins元素在pom.xml文件中配置目标。
当您创建了自定义插件并想要执行构建阶段的任何特定目标时,这通常是必需的。