生命周期(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. Angular - - Angular数据类型判断

    angular.isArray 判断括号内的值是否为数组. 格式:angular.isArray(value); value: 被判断是否为数组的值. ------------------------ ...

  2. 插入排序法-java案例详解

    /** * 功能:插入排序法 * 基本思想:把n个待排序的元素看成一个有序和无序表,开始时有序表中只包含一个元素, * 无序表中包含有n-1个元素,排序过程中每次从无序表中取出第一个元素,把它的排序码 ...

  3. CSS设置图片居中的方法

    如果是应用了表格,那么设置单元格为align="center"就可以使其中的一切内容居中.如果没有应用表格要想设置图片居中就有点困难了.困难来自不按"常规出牌" ...

  4. 常见JS挂马方法及如何防止网站被黑客挂马?

    最近有朋友说自己的网站平时并未作弊,文章也都是原创的,更新很稳定.可不知道为什么网站突然就被各大搜索引擎降权了,一直找不到原因.最后发现是网站被挂马了,导致网站被连累了.在此,借助马海祥博客的平台,给 ...

  5. MyBatis Generator 的使用

    1,以插件的形式加入到eclipse/dropins中: 2,设置mybatis-generator.xml文件: <?xml version="1.0" encoding= ...

  6. Spring AOP切面的时候参数的传递

    Spring AOP切面的时候参数的传递 Xml: <?xml version="1.0" encoding="UTF-8"?> <beans ...

  7. jQuery获取、设置title的值

    获取值:var t = $(document).attr('title'); 设置值:$(document).attr('title','value');

  8. Codeforces374B

    B. Inna and Nine time limit per test 1 second memory limit per test 256 megabytes input standard inp ...

  9. Unity3D中如何计算场景中的三角面和顶点数

    在做游戏开发时,场景中的三角面和顶点数影响着运行效率,尤其是在手机平台上,实时的知道场景中的各项指标,对性能优化来说至关重要,下面我们来实现一个小功能,来实时计算场景中的三角面和顶点数: 如果要知道场 ...

  10. SQL Server事务、隔离级别详解(二十九)

    前言 事务一直以来是我最薄弱的环节,也是我打算重新学习SQL Server的出发点,关于SQL Server中事务将分为几节来进行阐述,Always to review the basics. 事务简 ...