验证(validate)
验证项目是正确的,所有必要的信息可用。
初始化(initialize)
初始化构建状态,例如设置属性或创建目录。
产生来源(generate-sources)
生成包含在编译中的任何源代码。
流程源(process-sources)
处理源代码,例如过滤任何值。
生成资源(generate-resources)
生成包含在包中的资源。
流程资源(process-resources)
将资源复制并处理到目标目录中,准备打包。
编译(compile)
编译项目的源代码。
对maven项目src/main/java目录下的.java文件进行编译,编译好的.class文件放在target目录下。
工艺类(process-classes)
从编译后处理生成的文件,例如对Java类进行字节码增强。
生成测试来源(generate-test-sources)
生成包含在编译中的任何测试源代码。
流程测试来源(process-test-sources)
处理测试源代码,例如过滤任何值。
生成测试资源(generate-test-resources)
创建测试资源。
流程测试资源(process-test-resources)
将资源复制并处理到测试目标目录中。
测试编译(test-compile)
将测试源代码编译到测试目标目录中
流程检验类(process-test-classes)
从测试编译中处理生成的文件,例如对Java类进行字节码增强。对于Maven 2.0.5及以上版本。
测试(test)
使用合适的单元测试框架运行测试。这些测试不应该要求代码被打包或部署。
对maven项目src/main/java和src/test/java目录下的.java文件进行编译,编译好的.class文件放在target目录下。
制备包(prepare-package)
在实际包装之前,执行必要的准备包装的操作。这通常会导致打包的处理版本的包。(Maven 2.1及以上)
打包(package)
采取编译的代码,并以其可分发的格式(如JAR)进行打包。执行成功后会在target目录下生成项目的jar文件。
对maven项目src/main/java和src/test/java目录下的.java文件进行编译,编译好的.class文件放在target目录下。而且还会生成项目的jar包或war包(生成jar包还是war包要看自己在pom.xml文件中的配置)。
预集成测试(pre-integration-test)
在执行集成测试之前执行所需的操作。这可能涉及诸如设置所需环境等。
集成测试(integration-test)
如果需要,可以将该包过程并部署到可以运行集成测试的环境中。
整合后的测试(post-integration-test)
执行集成测试后执行所需的操作。这可能包括清理环境。
校验(verify)
运行任何检查以验证包装是否有效并符合质量标准。
安装(install)
将软件包安装到本地存储库中,以作为本地其他项目的依赖关系。
执行 install 将 maven 打成 jar 包或 war 包发布到本地仓库。
从运行结果中,可以看出:当后面的命令执行时,前面的操作过程也都会自动执行。
部署(deploy)
在集成或发布环境中完成,将最终软件包复制到远程存储库,以与其他开发人员和项目共享。
# 编译工程, 顺序执行validate、initialize、generate-sources、process-sources、generate-resources、process-resources、compile
> mvn compile
# 清理并编译工程, 先执行pre-clean、clean; 然后顺序执行validate、initialize、generate-sources、process-sources、generate-resources、process-resources、compile
> mvn clean compile
# 清理并安装软件包到本地仓库
> mvn clean install
# 清理并发布软件包
> mvn clean deploy