生命周期
Maven包含三个相互独立的生命周期,它们分别是:
-
Clean Lifecycle:在进行真正的构建之前进行一些清理工作
-
Default Lifecycle:构建的核心部分,编译、测试、打包、部署
-
Site Lifecycle:生成项目报告、生成站点、发布站点
Clean 生命周期
生命周期阶段 |
描述 |
pre-clean |
执行实际项目清理前所需的流程 |
clean |
删除以前版本生成的所有文件 |
post-clean |
执行完成项目清理所需的过程 |
默认生命周期
生命周期阶段 |
描述 |
validate |
验证项目是否正确,完成构建过程的所有必要信息是否完整 |
initialize |
初始化构建状态,例如 设置属性或创建目录 |
generate-sources |
生成包含在编译中的源码文件 |
process-sources |
处理源代码,例如过滤和替换占位值 |
generate-resources |
生成包含在包中的资源 |
process-resources |
将资源复制并处理到目标目录中,准备打包 |
compile |
编译项目源代码 |
process-classes |
处理编译生成的文件,例如 Java Class 字节码的加强和优化 |
generate-test-sources |
生成编译阶段需要包含的测试源代码 |
process-test-sources |
处理测试源文件,例如过滤和替换占位值 |
generate-test-resources |
创建测试资源 |
process-test-resources |
将资源复制并处理到测试目标目录中 |
test-compile |
将测试源代码编译到测试目标目录中 |
process-test-classes |
处理测试代码文件编译后生成的文件 |
test |
使用适当的单元测试框架(例如JUnit)运行测试 |
prepare-package |
在真正打包之前,为准备打包执行任何必要的操作(Maven 2.1及以上) |
package |
获取编译后的代码,并按照可发布的格式进行打包,例如 JAR、WAR 或者 EAR 文件 |
pre-integration-test |
在集成测试执行之前执行所需的操作,这可能涉及诸如设置所需环境等事情 |
integration-test |
处理和部署必须的工程包到集成测试能够运行的环境中 |
post-integration-test |
在集成测试被执行后执行必要的操作,例如,清理环境 |
verify |
运行任何检查来验证包是否有效并且符合质量标准 |
install |
安装工程包到本地仓库中,该仓库可以作为本地其他工程的依赖 |
deploy |
在集成或发行版环境中完成,将最终包复制到远程存储库,以便与其他开发人员和项目共享 |
Site 生命周期
生命周期阶段 |
描述 |
pre-site |
执行实际项目站点生成之前所需的流程 |
site |
生成项目的网站文档 |
post-site |
执行完成网站生成所需的流程,并为网站部署做好准备 |
site-deploy |
将生成的网站文档部署到指定的Web服务器 |
内置生命周期绑定
每个生命周期包含了一些有序的阶段(phase),每个phase都是抽象的,实际需要插件来完成,在实际过程中通过插件目标(goal)绑定到生命周期具体阶段(phase)来完成,以下是一些目(goal)到构建阶段(phase)的绑定:
Clean 生命周期绑定
生命周期阶段 |
绑定目标 |
clean |
clean:clean |
默认生命周期绑定 -Packaging ejb/ejb3/jar/rar/war
生命周期阶段 |
绑定目标 |
process-resources |
resources:resources |
compile |
compiler:compile |
process-test-resources |
resources:testResources |
test-compile |
compiler:testCompile |
test |
surefire:test |
package |
ejb:ejb or ejb3:ejb3 or jar:jar or par:par or rar:rar or war:war |
install |
install:install |
deploy |
deploy:deploy |
默认生命周期绑定 -Packaging ear
生命周期阶段 |
绑定目标 |
generate-resources |
ear:generate-application-xm |
process-resources |
resources:resources |
package |
ear:ear |
install |
install:install |
deploy |
deploy:deployt |
默认生命周期绑定 -Packaging maven-plugin
生命周期阶段 |
绑定目标 |
generate-resources |
plugin:descriptor |
process-resources |
resources:resources |
compile |
compiler:compile |
process-test-resources |
resources:testResources |
test-compile |
compiler:testCompile |
test |
surefire:test |
package |
jar:jar and plugin:addPluginArtifactMetadata |
install |
install:install |
deploy |
deploy:deployt |
默认生命周期绑定 -Packaging pom
生命周期阶段 |
绑定目标 |
package |
site:attach-descriptor |
install |
install:install |
deploy |
deploy:deployt |
Site生命周期绑定
生命周期阶段 |
绑定目标 |
site |
site:site |
site-deploy |
site:deploy |
网友评论