Maven生命周期相关

本地mvn 命令打包中,每个命令 都是由 生命周期定义的。生命周期是一种标准。

三种生命周期

maven有独立的三套生命周期,

1.清理生命周期(Clean Lifecycle):实现项目清理

2.默认生命周期(Default Lifecycle):项目构建的核心部分,包括编译、测试、打包、部署等

3.站点生命周期(Site Lifecycle):生成项目报告、站点,发布站点


三套生命周期

Phase(阶段)

每套生命周期由一组阶段(phase)构成,本套生命周期内,phase之前的阶段都会执行。三套生命周期相互独立。

Clean Lifecycle

pre-clean 执行一些需要在clean之前完成的工作;

clean 移除所有上一次构建生成的文件;

post-clean 执行一些需要在clean之后立刻完成的工作;

Site Lifecycle

pre-site  执行一些需要在生成站点文档之前完成的工作;

site  生成项目的站点文档;

post-site  执行一些需要在生成站点文档之后完成的工作,并且为部署做准备;

site-deploy  将生成的站点文档部署到特定的服务器上

Default Lifecycle(常用)

validate

process-resources  复制并处理资源文件,至目标目录,准备打包

compile  编译项目的源代码

process-test-resources  复制并处理资源文件,至目标测试目录;

test-compile  编译测试源代码;

process-test-classes

test  使用合适的单元测试框架运行测试。这些测试代码不会被打包或部署

prepare-package

package  接受编译好的代码,打包成可发布的格式,如 JAR ;

install  将包安装至本地仓库,以让其它项目依赖;

deploy  将最终的包复制到远程的仓库,以让其它开发人员与项目共享

另外需要注意的是,这些对项目及进行编译、测试、打包、运行、部署等工作在Maven中都是抽象的定义,Maven自身是不会实际负责这些工作的,而是交由插件来实现。意思就是说,Maven命令的实际工作执行者是各种各样的插件,通过插件提供的命令与Maven提供的阶段相互绑定来完成相应的工作。因此Maven的插件机制是完全依赖于Maven的生命周期的,要想运用好这些Maven命令插件,理解Maven的生命周期也就变得十分重要。

mvn clean install 

使用了两套生命周期的命令

参考

Maven的声明周期(Lifecycle )和命令(Phase)

你可能感兴趣的:(Maven生命周期相关)