生命周期(Lifecycle )

Maven有三套相互独立的生命周期(Lifecycle ):

  • Clean Lifecycle:做一些清理工作;
  • Default Lifecycle:构建的核心部分、编译、测试、打包、部署等;
  • Site Lifecycle:生成项目报告、站点、发布站点;


阶段(Phase)

而每套生命周期都是一组阶段(Phase)组成,各套Lifecycle 的Phase如下:

  • Clean Lifecycle
    1. pre-clean  执行一些需要在clean之前完成的工作;
    2. clean  移除所有上一次构建生成的文件;
    3. post-clean  执行一些需要在clean之后立刻完成的工作;
  • Site Lifecycle
    1. pre-site  执行一些需要在生成站点文档之前完成的工作;
    2. site  生成项目的站点文档;
    3. post-site  执行一些需要在生成站点文档之后完成的工作,并且为部署做准备;
    4. site-deploy  将生成的站点文档部署到特定的服务器上;
  • Default Lifecycle
    1. validate
    2. initialize
    3. generate-sources
    4. process-sources
    5. generate-resources
    6. process-resources  复制并处理资源文件,至目标目录,准备打包;
    7. compile  编译项目的源代码;
    8. process-classes
    9. generate-test-sources
    10. process-test-sources
    11. generate-test-resources
    12. process-test-resources  复制并处理资源文件,至目标测试目录;
    13. test-compile  编译测试源代码;
    14. process-test-classes
    15. test  使用合适的单元测试框架运行测试。这些测试代码不会被打包或部署;
    16. prepare-package
    17. package  接受编译好的代码,打包成可发布的格式,如 JAR ;
    18. pre-integration-test
    19. integration-test
    20. post-integration-test
    21. verify
    22. install  将包安装至本地仓库,以让其它项目依赖;
    23. deploy  将最终的包复制到远程的仓库,以让其它开发人员与项目共享;

更多声明周期请参考官方文档


命令和Phase的关系

我们平时在命令行输入的Maven命令总会对应于一个特定的Phase相对应,如:

mvn pre-clean

这是执行Clean生命周期的第一个Phase,而在运行某个Phase时,Maven会按顺序地把与它同一套中的它之前的Phase也自动执行,如

mvn clean

会先执行pre-clean和clean。

然而到这里没有完,当执行Phase的时候,内部是怎么执行的呢?我们将继续探讨,请参考Maven的插件编写

Maven的声明周期(Lifecycle )和命令(Phase)的更多相关文章

  1. maven入门(1-3)maven的生命周期

      maven的生命周期 maven的生命周期是抽象的,其实际行为都由插件来完成,引入maven 的 生命周期就是为了对所有的构建过程进行抽象和统一. 这种方式类似于模板方法,模板方法模式在父类中定义 ...

  2. 4.Maven概念模型,maven的生命周期,Maven坐标,依赖管理(依赖范围,依赖声明),仓库管理,私服概念

     1 maven概念模型 2 maven的生命周期,项目构建过程 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdG90b3R1enVvcXVhbg== ...

  3. maven运行时的配置及命令详解

      上面是指定端口运行程序的,也可以先指定好,直接在上面的地方写jettty:run           当然,如果你是在控制台运行且安装了maven,直接可以进入项目的文件中:mvn jetty:r ...

  4. Maven - 深入理解maven构建生命周期和各种plugin插件

    作者:亚当-adam 来源:CSDN 原文:https://blog.csdn.net/zhaojianting/article/details/80321488 版权声明:本文为博主原创文章,转载请 ...

  5. Java-Maven-Runoob:Maven构建生命周期

    ylbtech-Java-Maven-Runoob:Maven构建生命周期 1.返回顶部 1. Maven 构建生命周期 Maven 构建生命周期定义了一个项目构建跟发布的过程. 一个典型的 Mave ...

  6. Maven构建生命周期

    以下引用官方的生命周期解释https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html: 一.构建生命 ...

  7. Maven - 构建生命周期、阶段、目标

    版权所有,未经授权,禁止转载 章节 Maven – 简介 Maven – 工作原理 Maven – Repository(存储库) Maven – pom.xml 文件 Maven – 依赖管理 Ma ...

  8. 跟着官方文档学Maven构建生命周期

    在IntelliJ IDEA中,显示了Maven的Lifecycle: 只需要学习这些命令,就能构建一个Maven项目. 三个内置生命周期 Maven内置了三个生命周期:clean.default和s ...

  9. Maven进价:Maven的生命周期阶段

    一.Maven的生命周期 Maven的生命周期就是对所有的构建过程进行抽象和统一.包含了项目的清理.初始化.编译.测试.打包.集成测试.验证.部署和站点生成等几乎所有的构建步骤. Maven的生命周期 ...

随机推荐

  1. sqlite3编译

    1.sqlite3编译: 1.PC版: 1.解压: tar xvf sqlite-autoconf-3140100.tar.gz cd sqlite-autoconf-3140100/ 2.检查配置 ...

  2. python 循环使用 while 或 for 语句实现用户名密码输错三次退出

    如有错误欢迎大家指出,新手初来乍到.程序没那么复杂,是最简单的. 一.需求 编写登录文件 .py1. 输入用户名密码2. 正确,输出欢迎登录3. 当输入用户名和密码小于 3 次,输入用户名或者密码错误 ...

  3. 基于监听的事件处理——Activity本身作为事件监听器

    这种形式使用Activity本身作为监听器类,可以直接在Activity类中定义事件处理方法,这种形式非常简洁.但这种做法有两个缺点: 这种形式可能造成程序结构混乱,Activity的主要职责应该是完 ...

  4. PHP的数组值传入JavaScript的数组里

    <!doctype html public "-//W3C//DTD HTML 4.0 //EN"> <html><head>       &l ...

  5. Java泛型在spring jdbc template中的类似应用

    泛型的使用保证返回的对象类型的正确: package com.stono.gentest; import java.util.ArrayList; import java.util.List; pub ...

  6. spring mvc 与 jasper Report集成

    http://blog.csdn.net/jia20003/article/details/8471169 注意其中的图片地址说明: 如果有子报表,也会到class文件夹中去寻找: 如果子报表有路径的 ...

  7. Linux系统监控命令

    1. uptime: 负载监控,w命令更好地显示当前登录用户数的信息 2.top: 相当于uptime,提供了负载平均值的快照 (1)第一行: up 48days: 系统运行时间 2 users: 当 ...

  8. TCP协议滑动窗口(一)——控制数据传输速率

    窗口大小:TCP头中一个16位的域,表示当前可用接受缓冲区大小.在每个TCP对等段连接初始化时,告诉对方自己的窗口大小(不一定是满额,假如满额65201字节,可能暂时通告5840字节).若客户端接受数 ...

  9. 对angularjs时间过滤格式

    在最近的项目中,我遇到这样的一个小问题,从后台传过来一个时间值,格式如下: "/Date(1484743002000)/" 至于为什么是这种格式,后台的开发说数据库中就是这个存的( ...

  10. Spring Boot踩坑之路一

    Takes an opinionated view of building production-ready Spring applications. Spring Boot favors conve ...