从命令执行maven任务的最主要方式就是调用maven的生命周期阶段。需要注意的是各个生命周期是相互独立的,而一个生命周期的阶段是有前后依赖关系的。下面以一些常见的maven命令为例,解释其执行的生命周期阶段:
mvn clean:该命令调用clean生命周期的clean阶段。实际执行的阶段为clean生命周期的pre-clean和clean阶段。
mvn test:该命令调用default生命周期的test阶段。实际执行的阶段为default生命周期的validate,initialize等,直到test的所有阶段。这也解释了为什么在执行测试的时候,项目的代码能够自动得以编译。
mvn clean install:该命令调用clean生命周期的clean阶段和default生命周期的install阶段。实际执行的阶段为clean生命周期的pre-clean,clean阶段,以及以default生命周期的从validate至install的所有阶段。该命令结合了两个生命周期,在执行真正的项目构建之前清理项目是一个很好的实践。
mvn clean deploy site-deploy:该命令调用clean生命周期的clean阶段,default生命周期的deploy阶段,以及site生命周期的所有阶段。实际执行的阶段为clean生命周期的pre-clean,clean阶段,default生命周期的所有阶段,以及site生命周期的所有阶段。该命令结合了maven所有三个生命周期,且deploy为default生命周期的最后一个阶段,site-deploy为site生命周期的最后一个阶段。