Maven 生命周期
Maven的核心仅仅是定义了生命周期,而具体的任务则是由插件完成的,插件以独立的构件形式存在
Maven的生命周期包含了对jar包的清理、初始化、编译、测试、打包、集成测试、验证、部署和站点生成等几乎所有的构建步骤,即对构建过程进行抽象和统一。
Maven的生命周一并不是一个整体,而是由三套相互独立的生命周期构成,这三套分别为clean、default与site生命周期。其中clean周期为清理项目;default周期为构建项目,site周期为建立项目站点。
maven的三种生命周期
生命周期名称 | 作用 | 各个阶段 |
---|---|---|
Clean | 清理操作相关 | pre-clean: 执行一些清理前需要完成的工作 clean:清理上一次构建生成的文件 post-clean:执行一些清理后需要完成的工作 |
Site | 生成站点相关 | pre-site:执行一些在生成项目站点之前需要完成的工作 site:生成项目站点文档 post-site:执行一些在生成项目站点之后需要完成的工作 deploy-site:将生成的项目站点发不到服务器上。 |
Default | 主要构建过程 | validate initialize generate-sources process-sources generate-resources process-resources 复制并处理资源文件,至目标目录,准备打包。 compile 编译项目 main 目录下的源代码。 process-classes generate-test-sources process-test-sources generate-test-resources process-test-resources 复制并处理资源文件,至目标测试目录。 test-compile 编译测试源代码。 process-test-classes test 使用合适的单元测试框架运行测试。这些测试代码不会被打包或部署。 prepare-package package 接受编译好的代码,打包成可发布的格式,如JAR。 pre-integration-test integration-test post-integration-test verify install将包安装至本地仓库,以让其它项目依赖。 deploy将最终的包复制到远程的仓库,以让其它开发人员共享;或者部署到服务器上运行(需借助插件,例如:cargo)。 |
每个生命周期包含一些阶段(phase),而且这些阶段是有序的,并且后面的阶段以来前面的阶段。例如,执行Clean生命周期的clean时,会先执行pre-clean,再执行clean。
参考内容
《maven实战》
https://baijiahao.baidu.com/s?id=1731688515413538821&wfr=spider&for=pc
https://blog.csdn.net/goodjava2007/article/details/122118592
https://blog.csdn.net/goodjava2007/article/details/123073290