Maven的生命周期

来源:互联网 发布:百度贴吧网络连接失败 编辑:程序博客网 时间:2024/05/02 01:16

Maven的生命周期就是所有构建过程抽象与统一,Maven的生命周期包含了项目的清理、初始化、编译、测试、打包、集成、部署、站点生成等阶段。

Maven的三个生命周期分别是:CleanDefaultSite,每个生命周期又包含了不同的阶段。

Clean生命周期

    项目构建之前进行一些准备清理工作。

Clean生命周期阶段1
pre-clean
执行一些需要在clean之前完成的工作阶段2clean移除所有上一次构建生成的文件阶段3post-clean执行一些需要在clean之后需要完成的工作

Default生命周期

    项目构建的核心部分,包含了编译、测试、打包、部署等阶段。

Default生命周期阶段1validate
验证项目是否正确,以及所有为了完整构建必要的信息是否可用
阶段2
generate-sources
生成所有需要包含在编译过程中的源代码
阶段3
process-sources
处理源代码,比如过滤一些值
阶段4
generate-resources
生成所有需要包含在打包过程中的资源文件
阶段5
process-resources
复制并处理资源文件至目标目录,准备打包
阶段6
compile
编译项目的源代码
阶段7
process-classes
后处理编译生成的文件,例如对Java类进行字节码增强
阶段8
generate-test-sources
生成所有包含在测试编译过程中的测试源码
阶段9
process-test-sources
处理测试源码,比如过滤一些值
阶段10
generate-test-resources
生成测试需要的资源文件
阶段11
process-test-resources
复制并处理测试资源文件至测试目标目录
阶段12
test-compile
编译测试源码至测试目标目录
阶段13
test
使用合适的单元测试框架运行测试。
这些测试应该不需要代码被打包或发布
阶段14
prepare-package
在真正的打包之前,执行一些准备打包必要的操作
阶段15
package
将编译好的代码打包成可分发的格式,如JAR,WAR,或者EAR
阶阶16
pre-integration-test
执行一些在集成测试运行之前需要的动作。
如建立集成测试需要的环境
阶段17
integration-test
如果有必要的话,处理包并发布至集成测试可以运行的环境
阶段18
post-integration-test
执行一些在集成测试运行之后需要的动作。
如清理集成测试环境。
阶段19
verify
执行所有检查,验证包是有效的,符合质量规范
阶段20
install
安装包至本地仓库,以备本地的其它项目作为依赖使用
阶段21
deploy
复制最终的包至远程仓库,共享给其它开发人员和项目

Site生命周期

    生成项目站点文档、站点发布。

Site生命周期阶段1pre-site执行一些需要在生成站点文档之前完成的工作阶段2site生成项目的站点文档阶段3post-site执行一些需要在生成站点文档之后完成的工作,
并且为部署做准备
阶段4site-deploy将生成的站点文档部署到特定的服务器上








       在每个生命周期中,运行某个阶段,该阶段之前的阶段都会被运行,比如:执行Clean生命周期的clean阶段,pre-clean阶段也会被运行;通常来说,后面的阶段依赖于之前的阶段,当然也可以通过配置文件,跳过某些阶段,比如:mvn package -Dmaven.test.skip=true ,告诉maven在打包的时候跳过单元测试。

1 0
原创粉丝点击