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

将程序包复制到远程存储库,以使其可供其他开发人员使用。