ivy教程(11)-架设仓库(3)-使用命名空间 - 编程入门网
我们的仓库,它看上去很好。
我们甚至可以看一下我们仓库中的commons-lang ivy文件:
很好,我们看到组织现在是''apache''。但是ivy是从哪里获得这个的呢? 1. 这是如何工作的? 实际上ivy和以往一样使用同样的仓库作为源仓库,仅仅有一点不同:namespace参数。
namespace由一系列规则定义而成。这些规则基于正则表达式,并告诉ivy如何从仓 库命名空间转换数据到系统命名空间,换言之,ivy时常运行的命名空间(例如ivy 缓存通常使用系统命名 空间). 对于我们调用maven2的命名空间,我们已经定义了一些规则,这里是一个: 处理导入apache maven1项目的规则
ivy教程(11)-架设仓库(3)-使用命名空间(3)时间:2011-08-02 blogjava Sky''s blog理解命名空间: (1) fromsystem : 在这里我们定义,在系统命名空间中以组织"apache"定义的项目被转换 为目的地命名空间中使用模块名为组织的项目,无论修订版本是什么.例如,系统命名空间中的项目 apache#commons-lang;1.0奖被转换为maven2解析器命名空间中的commons-lang#commons-lang;1.0。 (2) tosystem : 在这里我们定义反向映射,换言之从maven2仓库转换apache项目到系统命名空间的 apache项目。这里使用的规则告诉说所有组织名匹配commons-.+ (把它看成java正则表达式)项目被转换 为组织是apache而模块名还是原来的项目。同样的规则被使用到其他apache项目例如ant等等。 注意正则表达式的用法:为了识别在组织,模块和修订版本中找到的正则表达式, 使用的表示法用字 母''o'', ''m'' 和''r''作为匹配的正则表达式的前缀。 $o0 : 在组织属性中完全匹配的值 $o1 : 在组织 属性中标记的第一个匹配的语法分组 ... 同样应用在模块中: $m0, $m1, ... 也用于修订版本 : $r0, $r1, ... 好了,现在你知道命名空间背后的想法了,现在你可以检查例子中提供的整个命名空间的设置,并使 用命名空间测试模块和它 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |