: maven的生命周期就是为了对所有的构建过程进行抽象和统一。
而在这之中,是包括了项目清理、初始化、编译、打包、测试、部署等几乎所有的构建步骤。
简单来说,maven的生命周期可以理解为构建工程的步骤。
在maven中又含有三套相互独立的生命周期。(三套、相互独立!)
1、Clean Lifecycle:是在构建工程之前进行一些清理操作。
2、Default Lifecyle:是构建的真正核心部分:编译啊,测试啊,打包啊,部署啊这些、
3、Site Lifecyle:生成项目报告、站点、发布站点。
既然说是生命周期那肯定有阶段。
--------------------------------------------------------------------------------
clean生命周期:清理项目。
clean的生命周期一共包含了三个阶段:
1、pre-clean:执行一些需要在clean之前完成的操作。
2、clean:移除上一次构建生成的文件。
3、post-clean:执行一些需要在clean之后立刻要完成的工作。
也就是说,mvn clean等同于mvn pre-clean clean。
如果我们运行mvn post-clean,那么pre-clean,clean都会被执行。这是Maven很重要的一个规则,可以简化命令行的输入。
--------------------------------------------------------------------------------
Default生命周期:构造项目。
Default生命周期是Maven生命周期中最重要的一个。绝大部分工作都发生在这里。
validate 校验
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将最终的包复制到远程的仓库,以让其它开发人员与项目共享
其中加黑的就是所提到的,而且在运行任何一个阶段的时候,在这个之前的所有阶段都会被运行。也就是说我们执行mvn install,代码就会被编译、测试、打包、并安装到本地仓库。
Maven的插件机制完全依赖于Maven的生命周期的,理解生命周期的概念以及内容等至关重要。
--------------------------------------------------------------------------------
Sit生命周期:生成项目站点。
这里常用到的是site阶段和site-deploy阶段,用来生成和发布Maven站点。(这是Maven相当强大的功能)
pre-site:执行一些需要在生成站点文档前完成的工作
site:生成项目的站点文档
post-site:执行一些需要早生成站点后立即完成的工作。为部署做准备。
site-deploy:将生成的站点文档部署到特定的服务器上
网友评论