最近由于装逼,说在学习Maven,结果被黑了,人家直问“Maven的生命周期是什么?来介绍下”,当场傻眼了~哎~初学者的痛啊~无人指点要那些是重点啊,惨痛地重新学习吧。
据说Maven之所以强大就是因为有十分完善的生命周期模型,生命周期可以从如下两方面来理解:
1. 运行Maven的每个步骤都是有生命周期来定义的,这种预定义的默认行为使得我们使用Maven变得简单
2. 这个模型是一种标准,在不用的项目中,使用Maven的接口是一样的,这样就不用去仔细理解每一个项目的构建了,一般情况下,mvn clean install这样的命令是通用的。
有3套相互独立的生命周期:
Clean Lifecycle在进行真正的构建之前进行一些清理工作。
Default Lifecycle构建的核心部分,编译、测试、打包、部署等。
Site Lifecycle生成项目报告,站点、发布站点。
他们是相互独立的,可以仅仅调用clean来清理工作目录,仅仅调用site来生成站点。也可以直接运行,mvn clean install site运行所有者三套生命周期。
Clean
1. Pre-clean
2. clean
3. post-clean
Site
1. pre-site
2. site
3. post-site
4. site-deploy
Default:
1. validate
2. generate-sources
3. process-sources
4. generate-resources
5. process-resources
6. compile
7. process-classes
8. generate-test-sources
9. process-test-sources
10. test-compile
11. process-test-classes
12. test
13. prepare-package
14. pre-integration-test
15. integration-test
16. post-integration-test
17. verify
18. install
19. deploy
解释参见:http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html