概念
Maven的生命周期是为了所有构建过程进行抽象和统一.Maven生命周期是抽象的,具体实现由插件完成.这种思想和设计模式中的模板方法非常相似.
模拟Maven生命周期代码
public abstract class t {
public void build() {
initialize();
compile();
test();
packagee();
integrationTest();
deploy();
}
protected abstract void initialize();
protected abstract void integrationTest();
protected abstract void compile();
protected abstract void test();
protected abstract void packagee();
protected abstract void deploy();
}
三套生命周期
Maven拥有三套相互独立的生命周期,它们分别为clean, default, site.
- clean: 清理项目.
- default: 构建项目.
- site: 建立项目站点.
clean生命周期
- pre-clean
- clean 清理上次构建的文件
- post-clean
default生命周期
主要包括
- proess-source 处理项目资源文件
- compile 编译项目的主源码
- proess-test-source 处理项目测试资源文件
- test-compile 编译项目测试的主源码
- test 使用单元测试框架进行测试
- package 打包成可发布的格式,如JAR
- install 将包安装到Maven本地仓库
- deploy 将最终的包安装到远程仓库
site生命周期
- pre-site 预处理工作
- site 生成站点文档
- post-site 后处理工作
- site-deploy 将生成的项目站点发布到服务器上