Maven 构建生命周期阶段
validate
验证项目是否正确以及所有必需信息是否可用于构建。
initialize
初始化构建环境,例如设置属性或创建目录。
generate-sources
生成要在编译阶段处理的源代码。
process-sources
在需要应用某些过滤器的情况下处理源代码。
generate-resources
生成要包含在工件中的资源。
process-resources
处理并将资源复制到输出目录(${basedir}/target/classes
)。
compile
将源目录(${basedir}/src/main/[java|groovy|...]
)中项目的源代码编译到输出目录(${basedir}/target/classes
)中。
process-classes
处理 compile
阶段生成的 .class
文件,例如执行字节码增强。
generate-test-sources
生成要在 test-compile
阶段处理的测试源代码。
process-test-sources
在需要应用某些过滤器的情况下处理测试源代码。
generate-test-resources
生成用于测试的资源。
process-test-resources
处理资源目录(${basedir}/src/main/resources
)中的测试资源并将其复制到测试输出目录(${basedir}/target/test-classes
)中。
test-compile
将测试源目录(’$ {basedir} / src / test / [java | groovy | …]’)中的源代码编译到测试输出目录(${basedir}/target/test-classes
)中。
process-test-classes
处理测试 test-compile
阶段生成的 .class
文件,例如执行字节码增强(Maven 2.0.5 及更高版本)。
test
使用一些合适的测试框架运行测试。注意:这些测试用例不考虑打包和部署。
prepare-package
在最终创建包之前执行最终更改和验证。
package
将成功编译和测试的代码打包成一些可分发的格式,如 JAR,WAR,EAR 到目标目录(${basedir}/target
)。
pre-integration-test
如果需要在应用程序的环境中应用某些更改,则在运行集成测试之前执行操作。
integration-test
进程并可能将应用程序部署到可以运行集成测试的环境中。
post-integration-test
在集成测试之后执行操作,例如清理在 pre-integration-test
阶段创建的环境。
verify
检查包裹是否有效并符合所需的质量标准。
install
将工件安装到本地存储库中。在此之后,任何其他本地项目都可以将此工件用作其依赖项之一(如果你的 IDE 不支持工作区依赖项解析 )。
deploy
将程序包复制到远程存储库,以使其可供其他开发人员使用。