Maven3 Core Overview
Maven是一个项目管理工具,它包含了一个项目对象模型(Project Object Model,POM) ,一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(Phase)中插件(Plugin)目标(Goal)的逻辑。
下图描述了Maven是如何使用POM的,以及POM文件中包含了什么
构建生命周期
生命周期是Maven为了对所有项目的构件过程进行统一和抽象。基于所有的项目构建,都能映射到这样一个生命周期上。Maven生命周期本身是抽象的,那么所有的工作都是交给插件完成的。
不仅如此,Maven总共内建了三套生命周期,这三套都是相互独立的:
- default,这是默认的生命周期,用于部署项目
- clean,用于清理项目,比如编译的文件等,一般都存在于target目录中
- site,用于为当前项目创建web站点
每个生命周期又包含了一些阶段(Phase) default
的生命周期由以下几个阶段(Phase)组成:
validate
: 校验项目是正确的,并且所有的信息可用
compile
:编译
test
: 进行单元测试
package
: 获取已经编译的源码,并进行打包
verify
:检查测试结果
install
:将软件包安装到本地,用作本地其他项目的依赖项
deploy
:将当前项目发布到远程仓库,提供给其他人用
当 default
被使用,就会按照上面的生命周期从上到下构建