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

什么是Maven构建生命周期?

当我们构建一个Maven项目时,它根据项目pom.xml配置和命令行选项执行一组明确定义的任务。这个标准的任务集创建了Maven构建生命周期。明确定义生命周期的好处是我们只需记住一些命令集来编译、构建、安装和部署我们的项目。推荐阅读:20+ Maven命令和选项(备忘单)。

内置的构建生命周期

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

    1. 默认:处理项目的构建和部署

 

    1. 清理:处理项目的清理工作

 

    站点:处理项目站点文档的创建

Maven 构建阶段

Maven构建生命周期经历一系列阶段,它们被称为构建阶段。例如,默认的生命周期由以下阶段组成。

  • validate
  • compile
  • test
  • package
  • verify
  • install
  • deploy

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

Maven 构建目标

构建阶段由一组目标组成。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
test surefire:test
package jar:jar
install install:install
deploy deploy:deploy

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

参考资料

  • Apache.org Doc
广告
将在 10 秒后关闭
bannerAds