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",则将执行以下阶段和目标。
Phase | Goal |
---|---|
process-resources | resources:resources |
compile | compiler:compile |
process-test-resources | resources:testResources |
test-compile | compiler:testCompile |
package | jar:jar |
install | install:install |
deploy | deploy:deploy |
我们还可以使用plugins元素在pom.xml文件中配置目标。
当您创建了自定义插件并想要执行构建阶段的任何特定目标时,这通常是必需的。