什么是Maven的生命周期:生命周期模型(lifecycle),预定义了maven的每个步骤,只一种项目构建的标准流程。
maven有三套相互独立的生命周期:
1、Clean Lifecycle 在进行真正的构建之前进行一些清理工作
2、Default Lifecycle 是构建的核心部分,负责编译、测试、打包、部署等
3、Site Lifecycle 是生成项目报告,站点,发布站点
执行 mvn clean install site 命令可以运行完整的三套生命周期
maven生命周期详解:
每套生命周期都由一组阶段(PHASE)组成,在命令行输入的命令总会对应于一个特定的阶段。比如运行mvn clean , 这个clean是clean生命周期的一个阶段。 即有两个tips:clean生命周期和clean阶段。
1、mvn clean
clean生命周期包含三个阶段:
-
- pre-clean :执行一些需要再clean之前完成的工作。
- clean :移除所有上一次构建生成的文件。
- post-clean :执行一些需要再clean之后立刻完成的工作。
mvn clean中的clean是上述的clean,在一个生命周期中,运行某个阶段的时候,它之前的所有阶段都会被运行,即,执行mvn clean 等同于执行 mvn pre-clean clean,若运行mvn post-clean 则三部会全部运行。
2、mvn site
site生命周期包含四个阶段:
- pre-site:执行一些需要在生成站点文档之前完成的工作
- site:生成项目的站点文档
- post-site:执行一些需要在生成站点文档之后完成的工作,并且为部署做准备
- site-deploy:将生成的站点文档部署在特定的服务器上
其中常用的是site阶段和site-deploy阶段,用以生成和发布maven站点,会生成文档及统计数据。
3、mvn default
default生命周期包含很多阶段:
-
- validate
- generate-sources
- process-sources
- generate-resources
- process-resources
- compile
- process-classes
- generate-test-sources
- process-test-sources
- generate-test-resources
- process-test-resources
- test-compile
- process-test-classes
- test
- prepare-package
- package
- pre-integration-test
- integration-test
- post-integration-test
- verify
- install
- deploy
详情可参考http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html
tips:maven的插件机制是完全依赖maven生命周期的。