Maven生命周期

前言:

看gradle复习知识点的时候,发现这块以前记录过的丢失了,现在重新补一下,记录复习!

Maven生命周期的理解

生命周期你可以理解为:构建工程的步骤。而Maven生命周期你就可以理解为:构建项目的过程中,清理、初始化、编译、打包、测试、部署等构建步骤。笼统的讲就是:为了对所有的构建过程进行抽象和统一。大多数人会在说maven生命周期的时候,直接说其主要的阶段: clean,compile,test,package,verify,install 和 deploy 这几个阶段,但其实它并不是全部。

在Maven的生命周期中有三套相互独立的生命周期,是不是有点绕口?没错,这三套生命周期是相互独立的!也就是说,你可要仅调用clean来清理工作目录,仅调用site来生成站点。当然你也可以直接运行 mvn clean install site运行所有这三套生命周期。
这三套生命周期分别是:

  • clean - 清理项目

clean生命周期中存在着clean阶段,每套生命周期都由一组阶段, 例如:命令行输入的命令就对应于一个特定的阶段。mvn clean 中的clean就对应着Clean生命周期中clean阶段。 Clean生命周期一共包含了三个阶段:

  1. 执行清理前需要完成的工作。(pre-clean
  2. 清理上一次构建过程中生成的文件,如编译后的class文件等。(clean)
  3. 执行清理后需要完成的工作。(post-clean
  • default - 构建项目
    Default生命周期是Maven生命周期中最重要的,绝大部分工作都发生在这个生命周期中。它具有很多阶段,常用的阶段:
  1. 验证项目结构是否正常,必要的配置文件是否存在(validate
  2. 做构建前初始化操作,如初始化参数,创建必要目录等(initialize
  3. 产生在编译过程中需要的源代码(generate-sources
  4. 处理源代码,比如过滤值(process-sources
  5. 产生主代码中的资源在classpath中的包(generate-resources
  6. 复制并处理资源文件,至目标目录,准备打包(process-resources
  7. 编译项目的源代码(compile
  8. 产生编译过程中生成的文件(process-classes
  9. 产生编译过程中测试相关的代码(generate-test-sources
  10. 处理测试代码(process-test-sources
  11. 产生测试中资源在classpath中的包(generate-test-resources
  12. 复制并处理资源文件,至目标测试目录(process-test-resources
  13. 编译测试源代码(test-compile
  14. 产生编译测试代码过程的文件test 使用合适的单元测试框架运行测试。这些测试代码不会被打包或部署(process-test-classes
  15. 处理打包前需要初始化的准备工作(prepare-package
  16. 接受编译好的代码,打包成可发布格式,如 JAR(package
  17. 做好集成测试前的准备工作,比如集成环境的参数设置(pre-integration-test
  18. 集成测试(integration-test
  19. 完成集成测试前的准备工作,比如集成环境的参数设置(post-integration-test
  20. 检测测试后的包是否完好(verify
  21. 将包安装至本地仓库,以让其它项目依赖(install
  22. 将最终的包复制到远程的仓库,以让其它开发人员与项目共享(deploy

运行任何一个阶段的时候,它前面的所有阶段都会被运行,这也就是为什么我们运行mvn install 的时候,代码会被编译,测试,打包。此外,Maven的插件机制是完全依赖Maven的生命周期的,而gradle就提出了增量构建,具体与其输入、task、输出有关,所以gradle的构建效率也比maven快

  • site - 生成项目站点
    Site生命周期:
  1. 执行一些需要在生成站点文档之前完成的工作(pre-site
  2. 生成项目的站点文档(pre-site
  3. 执行一些需要在生成站点文档之后完成的工作,并且为部署做准备(post-site
  4. 将生成的站点文档部署到特定的服务器上(site-deploy
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

偷偷学习被我发现

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值