lifecycle & phase & goal关系关系

  • maven有3个生命周期lifecycle):default、clean、site
  • 每个生命周期又分为多个阶段(phase

maven有许多插件,每个插件定义了n个goal

我们使用的时候要配置插件,
配置插件时可以指定哪个phase执行哪个goal。如果没有配置就按默认的执行。

lifecycle phase

maven lifecycle & phase & goal关系 - 图1

maven lifecycle & phase & goal关系 - 图2

maven lifecycle & phase & goal关系 - 图3maven内置了三个生命周期

  1. default:构建(Build)
    • validate:验证项目是否正确,所有必需的信息是否可用。
    • compile:编译项目中的代码。
    • test:用相关的单元测试框架测试编译后的代码,这些运行的测试并不会随项目打包和布署。
    • package:将编译后的代码打包成相应的格式文件,如jar包。
    • integration-test: 如果需要在一个综合环境中运行我们的测试,这个阶段将会运行和布署项目到该环境中。
    • verify: 检查项目的包是否正确和符合要求。
    • install:将包安装到本地maven仓库,可以让其他项目作为依赖使用该包。
    • deploy:将包发布到远程的maven仓库,并提供给其他开发者使用。
  2. clean:清理
    • pre-clean 准备清理
    • clean 执行清理工作
    • post-clean 执行清理后的后续工作
  3. site:生成项目文档和站点

    • pre-site 准备生成
    • site 生成项目站点和文档
    • post-site 执行生成文档后的后续工作
    • site-deploy 发布项目文档

      插件执行

      1. 直接调用插件的目标

      mvn plugin:goals

      2. 插件绑定到lifecycle的phase上

  4. 默认绑定插件

image.png
Maven – Introduction to the Build Lifecycle

  1. 自定义配置:

如果配置就按插件默认执行。
image.png
5- Maven插件 - 简书