生命周期的定义
Maven的生命周期(lifecycle)是对构建过程进行的抽象。
它包含了项目的清理、初始化、编译、测试、打包、集成测试、验证、部署和站点生成等几乎所有的构建步骤。
它将项目整体划分为一个个阶段,按顺序依次执行,也可以指定执行到某个阶段,然后结束。
因为Maven的生命周期是抽象的,因此它不做任何的实际工作,全部由插件(plugin)完成。
生命周期的分类

Maven的默认插件

三个构建生命周期
Maven 的内部有三个标准生命周期,分别是 : clean, default, site
| 标准生命周期 | 作用 |
|---|---|
clean |
项目清理 |
default(build) |
项目部署 |
site |
项目站点文档创建 |
生命周期与阶段
Maven将生命周期(lifecycle) 划分为一个个的阶段 (phase)
一系列顺序执行的阶段 (phase),构成一个完整的生命周期(lifecycle)。
比如执行mvn clean命令,该命令包含以下阶段:
pre-clean:执行一些需要在clean之前完成的工作
clean:移除所有上一次构建生成的文件
post-clean:执行一些需要在clean之后立刻完成的工作
这三个阶段按顺序全部执行完成后,才算完成了clean生命周期。
clean生命周期
clean生命周期通过clean插件(自带)完成,功能是删除当前项目的target目录(可自行尝试)
site生命周期
site生命周期:程序员可以使用 Maven 提供的 maven-site-plugin 插件(该插件不是默认插件,需要引用)让 Maven 生成一个 Web 站点, 以站点的形式发布信息。
default(build)生命周期
clean生命周期,只有一个阶段,点击clean插件即可完成。
site生命周期,和程序开发的关系并不大,作为一个程序员,我平时几乎用不到该生命周期。
三大生命周期中,和程序员关系最密切的 是 default(build)生命周期

default(build)生命周期和程序开发息息相关,我认为还是有了解的必要。
default(build)生命周期各阶段详解
| 核心阶段 | 详解 |
|---|---|
| validate | 验证项目是否正确,所有必要信息是否可用(很少单独使用) |
| compile | 编译项目的源代码(将src/main中的java代码编译成class文件,输出到targe目录下) |
| test | 将单元测试的资源文件和代码进行编译,生成的文件位于target/test-classes (打包部署请跳过该阶段) |
| package | 把class文件,resources文件打包成jar包(也可以是war包),生成的jar包位于target目录下 |
| verify | 检查包是否有效(很少单独使用) |
| install | 将jar部署到本地仓库,本地的其他模块依赖该jar包时,可以直接从本地仓库去获取 |
| deploy | 将jar包部署到远端仓库,需要在maven的setting.xml中配置私服的用户名和密码,以及在pom.xml配置 |
posted on
浙公网安备 33010602011771号