`
123003473
  • 浏览: 1040593 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

maven 命令背后是如何工作的

 
阅读更多
Maven强大的一个重要的原因是它有一个十分完善的生命周期模型(lifecycle),它有三套相互独立的生命周期,请注意这里说的是“三套”,而且“相互独立”,请别将Maven的生命周期看成一个整体哦,三个生命周期是独立线性执行的!分别是:
Clean Lifecycle 在进行真正的构建之前进行一些清理工作。
[pre-clean, clean, post-clean]
Default Lifecycle 构建的核心部分,编译,测试,打包,部署等等。
validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy]
Site Lifecycle 生成项目报告,站点,发布站点。
[pre-site, site, post-site, site-deploy]
每个生命周期包含一些阶段(phase),这些阶段(phase)是有顺序的,每个阶段蕴含一个或多个目标(goal),并且后面的阶段依赖于前面的阶段,我们和Maven最直接的交互方式就是调用这些生命周期阶段。

较之于生命周期阶段的前后依赖关系,三套生命周期本身是相互独立的,用户可以仅仅调用clean生命周期的某个阶段,或者仅仅调用default生命周期的某个阶段,而不会对其他生命周期产生任何影响。例如,当用户调用clean生命周期的clean阶段的时候,不会触发default生命周期的任何阶段。

其中deault是最重要的生命周期,拥有validate 、compile 、test 、package 、integration、verify、install、deploy等等阶段

我们来看一下Maven的编译阶段
让maven进行编译代码,使用的是声明的方式来告知Maven如何做的。看似一个简单的命令,注但其实它后面执行了一系列的工作。

mvn compile



【完整文档地址】http://yinny.iteye.com/blog/1883488


常用的生命周期:http://v-gimi.iteye.com/blog/1412103

http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#Lifecycle_Reference
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics