Maven的声明周期(Lifecycle )和命令(Phase)
2014-03-25 18:42
417 查看
生命周期(Lifecycle )
Maven有三套相互独立的生命周期(Lifecycle ):
Clean Lifecycle:做一些清理工作;
Default Lifecycle:构建的核心部分、编译、测试、打包、部署等;
Site Lifecycle:生成项目报告、站点、发布站点;
阶段(Phase)
而每套生命周期都是一组阶段(Phase)组成,各套Lifecycle 的Phase如下:
Clean Lifecycle
pre-clean 执行一些需要在clean之前完成的工作;
clean 移除所有上一次构建生成的文件;
post-clean 执行一些需要在clean之后立刻完成的工作;
Site Lifecycle
pre-site 执行一些需要在生成站点文档之前完成的工作;
site 生成项目的站点文档;
post-site 执行一些需要在生成站点文档之后完成的工作,并且为部署做准备;
site-deploy 将生成的站点文档部署到特定的服务器上;
Default Lifecycle
validate
initialize
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 接受编译好的代码,打包成可发布的格式,如 JAR ;
pre-integration-test
integration-test
post-integration-test
verify
install 将包安装至本地仓库,以让其它项目依赖;
deploy 将最终的包复制到远程的仓库,以让其它开发人员与项目共享;
更多声明周期请参考官方文档。
命令和Phase的关系
我们平时在命令行输入的Maven命令总会对应于一个特定的Phase相对应,如:
这是执行Clean生命周期的第一个Phase,而在运行某个Phase时,Maven会按顺序地把与它同一套中的它之前的Phase也自动执行,如
会先执行pre-clean和clean。
然而到这里没有完,当执行Phase的时候,内部是怎么执行的呢?我们将继续探讨,请参考Maven的插件编写。
Maven有三套相互独立的生命周期(Lifecycle ):
Clean Lifecycle:做一些清理工作;
Default Lifecycle:构建的核心部分、编译、测试、打包、部署等;
Site Lifecycle:生成项目报告、站点、发布站点;
阶段(Phase)
而每套生命周期都是一组阶段(Phase)组成,各套Lifecycle 的Phase如下:
Clean Lifecycle
pre-clean 执行一些需要在clean之前完成的工作;
clean 移除所有上一次构建生成的文件;
post-clean 执行一些需要在clean之后立刻完成的工作;
Site Lifecycle
pre-site 执行一些需要在生成站点文档之前完成的工作;
site 生成项目的站点文档;
post-site 执行一些需要在生成站点文档之后完成的工作,并且为部署做准备;
site-deploy 将生成的站点文档部署到特定的服务器上;
Default Lifecycle
validate
initialize
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 接受编译好的代码,打包成可发布的格式,如 JAR ;
pre-integration-test
integration-test
post-integration-test
verify
install 将包安装至本地仓库,以让其它项目依赖;
deploy 将最终的包复制到远程的仓库,以让其它开发人员与项目共享;
更多声明周期请参考官方文档。
命令和Phase的关系
我们平时在命令行输入的Maven命令总会对应于一个特定的Phase相对应,如:
mvn pre-clean
这是执行Clean生命周期的第一个Phase,而在运行某个Phase时,Maven会按顺序地把与它同一套中的它之前的Phase也自动执行,如
mvn clean
会先执行pre-clean和clean。
然而到这里没有完,当执行Phase的时候,内部是怎么执行的呢?我们将继续探讨,请参考Maven的插件编写。
相关文章推荐
- Maven插件(plugin)goal的执行与生命周期(lifecycle)phase的关系
- Maven中的几个重要概念(二):lifecycle, phase and goal
- Maven实战 第7章声明周期和插件
- Maven中的几个重要概念(二):lifecycle, phase and goal
- Jar包冲突解决方法 Unknown lifecycle phase "mvn" Eclipse中执行maven命令
- Maven中的几个重要概念(二):lifecycle, phase and goal
- 是goal还是phase?Maven插件(plugin)goal的执行与生命周期(lifecycle)phase的关系
- Maven补全之生命周期(Lifecycle)
- Maven学习9之声明周期自定义插件运行其他插件
- maven 声明周期
- 是goal还是phase?Maven插件(plugin)goal的执行与生命周期(lifecycle)phase的关系
- 项目周期管理工具maven常用命令
- Maven插件(plugin)goal的执行与生命周期(lifecycle)phase的关系
- Maven常用命令
- maven常用命令
- maven常用命令
- Maven 命令总结(不断更新中)
- 使用maven命令创建java项目
- MAVEN常用命令
- Maven提高篇系列之(二)——配置Plugin到某个Phase(以Selenium集成测试为例)