Maven2的阶段(生命周期)说明:
Maven2拥有三套独立的生命周期,Maven的命令也是基于这些生命周期来说的。
1.clean:清理先前构建的构件,又分为下面三个下阶段:
a.pre-clean 执行一些清理前需要完成的工作。
b.clean 清理上一次构建生成的文件
c.post-clean 执行一些清理后需要完成的工作
2.compile:定义了真正构建时所需要的所有步骤,它是这三个中最核心的部分,包含的阶段如下:
a.validate 验证项目是正确的并且所有必需的信息都是可用的
b.initialize 初始化构建状态
c.generate-sources 产生所有的用来编译的源代码
d.process-sources 处理源代码
e.generate-resources 产生包含在package中的资源
f.process-resources 复制和处理资源到目标目录,为打包做好准备
g.compile 编译项目的主源代码
h.process-classes 对编译器产生的文件进行后期处理
i.generate-test-sources 产生所有用来编译的测试源代码
j.process-test-sources 处理测试源代码
k.generate-test-resources 创建测试所需要的资源
l.process-test-resources 复制和处理资源到测试目标目录
m.compile 编译测试源代码到目标目录
n.process-test-classes 对编译测试源代码产生的文件进行后期处理
o.test 使用适当的单元测试框架运行测试,这些测试代码不应该被打包或者部署
p.prepare-package 执行所有需要执行的操作为打包做准备,这往往会产生一个还未打包的处理过的包版本
q.package 使用设置的方式对编译过的文件进行打包
r.pre-integration-test 执行一些集成测试执行前必须的操作
s.integration-test 处理和部署包到集成测试环境中,进行测试
t.post-integration-test 对集成测试进行后期处理
u.verify 执行所有检查确保包是正确的和符合质量要求的
v.install 安装包到本地仓库,为其他本地的项目提供依赖i
w.deploy 发布包,拷贝最后的包到远程仓库中,为其他的开发任何项目提供使用d
3.site:建立和发布项目站点
a.pre-site 前期准备
b.site 产生项目的站点文档
c.post-site 后期处理
d.site-deploy 部署站点到服务器
分析:
1. 就compile过程而言:在compile生命周期中有很多的过程,每一个过程其实是maven插件里面的目标,由插件来支持我们生命周期正常的完成运转!
2. 根据compile的生命周期,当执行mvn compile时,就会执行到g.compile 编译项目的主源代码。当执行mvn test时,先会执行mvn compile,然后再去执行o.test 使用适当的单元测试框架运行测试,这些测试代码不应该被打包或者部署。
当执行mvn package时,先执行mvn compile,然后是mvn test,最后再去执行q.package 使用设置的方式对编译过的文件进行打包。当执行mvn install时,先执行mvn compile,然后是mvn test,接下来是mvn package,最后在去执行v.install 安装包到本地仓库,为其他本地的项目提供依赖i。当去执行mvn deploy时,会把上面的步骤全部都会执行一遍!!!