首页 > 代码库 > Maven学习笔记之——三套生命周期
Maven学习笔记之——三套生命周期
Maven学习笔记之——三套生命周期
Maven命令的输入往往就对应了生命周期、比如mvncompile就表示执行默认生命周期阶段compile。Maven的生命周期是抽象的、其实际行为都是由插件完成的。比如mvncompile就可能会由maven-compile-plugin完成。生命周期和插件是协同工作。
1、 何为生命周期
项目构件中进行的清理、编译、测试及部署都可以视作一个一个项目的生命周期、但是每个项目每个人都有不一样的顺序不一样的实现方式。没有统一性带来的不方便已经不言而喻。
Maven的生命周期就是为例对所有的构建过程进行抽象和统一。抽象与项目、应用与项目、总结了一套完善易扩展的生命周期:清理、初始化、编译、测试、打包、集成测试、验证、部署和站点生成。Maven的生命周期是抽象的、意味着生命周期不做任何实际工作。实际工作都是由插件完成。
2、 三套生命周期
Maven的有三套生命周期:clean、default、site。每个生民周期包含不同的阶段(phase)、阶段是有序的、执行生命周期的每个阶段时此phase的前面的所有阶段都会被执行。
2.1、 Clean:
pre-clean、 clean、 post-clean。
2.2、 Default:
validate initialize generate-sources process-sources:处理项目主资源、一般是将src/main/resources目录的内容进行变量替换工作后、复制到项目输出的主classpath目录中。 generate-resources process-resources compile编译项目的主源码、一般是编译src/main/java目录下的Java文件至项目输出的主classpath目录中。 process-classes generate-test-sources process-test-sources generate-test-resources process-test-resources test-compile:编译项目的测试源码、一般是编译src/test/java目录下的Java文件至项目输出的测试classpath目录中。 process-test-classes test:使用单元测试框架运行测试、测试代码不会被打包或部署 prepare-package package pre-intergration-test integration-test post-intergration-test verify install:将包安装到Maven本地仓库。 deploy:将包复制到远程仓库
2.3、 Site生命周期
pre-site site:生成项目站点文档 post-site site-deploy:将生成的项目站点发布到服务器上
3、 命令行与生命周期:
前面说过执行生命周期的某个阶段时会被动执行此phase之前的阶段。
$mvnclean 执行pre-clean——》clean $mvnclean install 执行上面提到的clean、执行default生命周期从开始到install所有生命周期阶段。
Maven学习笔记之——三套生命周期
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。