1. 反应堆
反应堆这个名字听上去挺专业,其实就是多个模块组成的一个构建结构罢了,而单一模块项目自身就是该项目的反应堆。反应堆包含了各模块之间的依赖关系,从而Maven计算出合理的构建顺序。当然,反应堆计算出来的顺序都不能是一个“闭环”,比如说模块A的构建依赖于模块B,那么就回去构建模块B,但是构建模块B的过程中,经过反应堆分析,模块B的构建依赖于模块A,那么这就形成了一个构件的“闭环”。这样就会报错。到底是“鸡生蛋?还是蛋生鸡?”。
2. 剪裁反应堆
一般来说,开发者会构建整个项目,或者选择单独的模块进行构建。如果一切顺利的话,整体构建挺爽的。但是一旦整体构建发现某个模块构建失败。开发者发现问题,调整好后仅仅想构建这一个模块,这就叫做剪裁反应堆。在聚合项目根目录下执行如下语句
mvn clean install -pl ../MavenAccount-email
代表仅仅构建聚合项目中的邮件模块,其他模块不动。
如下语句
mvn clean install -pl ../MavenAccount-email,../MavenAccount-persist
就是构建邮件模块、持久层模块。
-am:同时构建所列模块的依赖模块
-amd:同时构建依赖于所列模块的模块
-pl:构建指定模块
-rf:从指定的模块返回一个反应堆对象
mvn clean install -pl ../MavenAccount-email -am
输出如下
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] MavenAccount-aggregator ........................... SUCCESS [0.437s]
[INFO] MavenAccount-email ................................ SUCCESS [4.728s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 5.352s
[INFO] Finished at: Mon Jun 06 11:17:44 CST 2011
[INFO] Final Memory: 10M/25M
[INFO] ------------------------------------------------------------------------
代表先构建聚合模块,因为邮件模块依赖于聚合模块,因为它不仅仅是聚合模块,还是父模块。
mvn clean install -pl ../MavenAccount-email -amd
构建MavenAccount-email完毕后,构建与MavenAccount-email依赖相关的所有模块
mvn clean install -rf ../MavenAccount-persist
在原聚合项目的基础上得出的反应堆中构建MavenAccount-persist模块
3. 总结
剪裁反应堆是为了找到问题模块,分析问题后单独构建的,灵活使用反应堆命令可以快速构建大项目。尤其在项目十分庞大的时候,剪裁反应堆,显得十分重要。
分享到:
相关推荐
Maven3实战笔记08——Maven反应堆。
Maven3实战笔记(整合)
Maven3实战笔记 Maven3实战笔记 Maven3实战笔记 Maven3实战笔记
Maven实战的笔记,通读了Maven实战这本书之后,结合自己的经验,提取了其中大部分使用的操作以及使用经验。采用md编写文档,使用markdown编辑器查看效果更佳
Maven3实战笔记06——聚合的介绍。
maven学习笔记maven学习笔记maven学习笔记
Maven3实战笔记(全) 从安装配置,到仓库依赖,到集成测试,到插件管理,到构建web 作者风趣幽默的介绍了maven3的使用 强烈推荐
Maven3实战笔记10——使用Maven进行测试。
Maven3实战笔记07——继承的介绍。
Maven3实战笔记04——Maven的生命周期和插件。
Maven实战 高清 Maven实战 高清 Maven实战 高清 Maven实战 高清 Maven实战 高清 Maven实战 高清 Maven实战 高清 Maven实战 高清 Maven实战 高清
Maven3实战笔记——03Maven仓库。
Maven3实战笔记
Maven的安装: (首先保证JDK版本在1.6以上) 1: 通过配置MAVEN_HOME 和 %% %MAVEN_HOME%\bin 然后进行mvn -version 测试 掌握 -Xms 与 -Xmx的相关配置 2: Maven目录分析: 2.1: bin: 含有mvn运行的脚本 2.2...
Maven实战Maven实战Maven的安装、配置及使用入门
Maven3实战笔记,介绍maven构建项目的步骤以及相关内容
maven 实战 所有源代码
Maven实战.pdf 不可多得的权威maven中文书籍
Maven实战 好书 学习参考.pdf
Maven3实战笔记05——仓库依赖解析与插件解析。