您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Maven 生命周期

我们今天带来的是 Maven 的另重要概念–生命周期。在学习了 Maven 的生命周期之后,在使用 Maven 的过程中,就能够够好的理解每一步操作的意义。

其实生命周期这个概念并不是 Maven 首创的,因为即使不用 Maven,这些事情也是需要我们去做的。想象一下在没有 Maven 的时候,我们开发完项目之后,一般是直接使用 Java 的相关命令进行编译,打包等等工作。

但是这些工作无聊而且繁琐,基本上充斥在开发者每天日常的工作中,无论是开发新,还是 Bug,都需要重复以上操作。当然有聪明的开发者,也会将这些每天重复的事情做成脚本来执行。

那么问题又来了,不同公司的不同项目之间或多或少会存在些许差异,这种时候,可能就需要开发者针对这些差异来定制一些步骤,或者脚本。也就是说,每当我们开始开发新项目的时候,或者换到另项目组的时候,我们构建项目的步骤或者方式都可能会发生变化。

Maven 的出现,可以说是很大程度上缓解了这种问题的发生。通过吸取很多项目的经验,Maven 定义了一套完整而且统一的生命周期模型。使用这个模型,我们将构建的细节交给 Maven,只需要理解对应生命周期的含义即可完成构建。就好像,人到了青少年的时候,就要去上学,到了青年的时候,就要出来工作类似,我们不需要知道上学或者工作中具体的事情,只需要知道,到了这个阶段,能够做这个事情就可以了。

Maven 的生命周期并非只有一套,而是有三套,并且这三套生命周期之间是没有关系的。一套生命周期包含很多个不同的阶段,这些不同的阶段是有顺序的,有些阶段必须要在某个阶段完成之后,才能进行。Maven 的三套生命周期分别为:clean(清理)default(认)site()。接下来我们就一一介绍一下这三个生命周期。

clean 生命周期:

一般情况下,Maven 的构建结果会在 target 目录下,我们执行 mvn clean 命令后,这个目录会被清空。
@H__73@

default 生命周期应该算是大多数开发者最为熟悉的生命周期,也是平时在开发过程中最常用的生命周期。
@H__73@

这里我们介绍的只是在 default 生命周期中最常用的,其实些阶段执行的过程中,还会有其他的阶段需要执行,但是并非很常用。另外,不出意外的情况下,在生命周期中,的阶段要等先执行的阶段执行完再执行。
@H__73@

很多时候,我们不仅仅需要构建我们的项目,还需要项目文档或者。site 生命周期则是来帮助我们做这件事情的,它能够根据我们项目中 pom.xml 的信息,来友好的。

跟其他的生命周期一样,site 生命周期也包含不止阶段:

其实在 Maven 的世界中,生命周期只是抽象的模型,其本身并不会直接去做事情,真正帮我们完成事情的是 Maven 的。Maven 的也属于构件的一种,也是可以放到 Maven 仓库当中的。

通常情况下,可以做 A、B、C 等等不止一件事情,但是我们又没有必要为每都做单独的。这种时候,我们一般会给这个绑定不同的目标,而这些目标则是对应其不同的。
@H__73@

我们说 Maven 的生命周期只是抽象的概念,真正帮我们完成事情的是,其实更确切的说,应该是生命周期与对应的目标绑定,来完成具体的。
@H__73@

在本节中,我们详细介绍了 Maven 的生命周期,常用的生命周期,以及其与的对应关系,简单的工作原理。学完之后,能够加深 Maven 的理解,减少使用过程中的误解。


联系我
置顶