Maven的生命周期:
讲解Maven测试篇之前将首先介绍一下Maven生命周期的相关概念,如果你熟知这部分概念可以略过此小节内容。
大多数时候,我们在构建一个项目时,不外乎是对其进行清理、编译、测试和部署等操作。对于大多数项目,我们每次都要重复这些主要的流程,而Maven正是对这些必要的构建过程进行了抽象,它以项目的清理、初始化、编译、测试、打包、部署等构建步骤作为项目生命周期的各个阶段。
每个Maven项目,都有三个相互独立的生命周期,其中包括:
clean生命周期:负责项目的清理工作;
default生命周期:负责项目的部署;
site生命周期:负责创建项目的文档站点;
其中每个生命周期又包含不同的阶段,例如clean生命周期下有pre-clean、clean和post-clean三个阶段,分别负责项目清理前的工作、清理上次构建的项目和项目清理后的工作,这些阶段是顺序执行的,也就是说,当你执行pre-clean阶段的时候,clean和post-clean阶段不会被执行,当你执行clean阶段的时候,pre-clean阶段和clean阶段会被执行,post-clean阶段不会被执行,当你执行post-clean阶段时候,pre-clean、clean和post-clean这三个阶段都会依次被执行。同理,default生命周期和site生命周期下也分为各个不同的阶段,这些阶段和clean生命周期下的各个阶段一样,后面阶段的执行依赖于前面的阶段执行。
此时你可能认为,当执行default生命周期下的某个阶段时,clean生命周期下的所有阶段也会被执行,其实并非这样。正如之前所说,Maven项目的每个生命周期是相互独立的,执行某个生命周期下的某个阶段,不会对另外两个生命周期下的任何阶段产生影响。
如果要对Maven生命周期下的某个阶段进行调用,运行相应的Maven命令即可。例如,调用clean生命周期下的clean阶段,运行如下命令:
mvn clean
此时clean 生命周期下的pre-clean和clean阶段将被执行。
如果要调用de