快速业务通道

ivy教程(4)-多解析器 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15

ivy教程(4)-多解析器

时间:2011-08-02 BlogJava sky''s blog

这个例子演示模块是如何被多解析器获得的。使用多解析器在很多情况下是非常有用的,这里是一些 例子:

* 来自发行的单独的集成构建

* 为第三方模块使用公共仓库并且为内部模块使用私有仓库

* 使用一个仓库来存储那些在无法管理的公共仓库里里面的不清晰的模块

* 使用本地仓库来暴露在一个开发人员的位置上生成的构建

在ivy中,多解析器的使用是通过一个名为解析器链的复合解析器来支持的。

在我们的例子中,我们将简单的展示如何使用两个解析器,一个在本地仓库而另一个使用maven2仓库 。

1)  项目描述

1. 项目: chained-resolvers

项目非常简单,只包含一个简单的类: example.Hello.

它依赖两个类库:Apache commons-lang 和一个小的test类库(源文件被包含在jar文件中).test类库 被项目使用用于将字符串转换为大写,而commons-lang用来以大些书写同样的字符串。

这是项目的内容:

* build.xml: 项目的ant 构建文件

* ivy.xml: ivy项目文件

* src\example\Hello.java: 项目仅有的一个类

让我们看一下ivy.xm文件:

<ivy-module version="1.0">      <info organisation="org.apache" module="chained-resolvers"/>      <dependencies>          <dependency org="commons-lang" name="commons-lang" rev="2.0"/>          <dependency name="test" rev="1.0"/>      </dependencies> </ivy-module>

和我们期望的一样,ivy文件声明依赖于两个项目使用的依赖:commons-lang 和 test.注意我们没有 指定test依赖的组织,在这种情况下ivy假定为和声明的模块同样的组织,换句话说,在这个案例中是 org.apache。

ivy教程(4)-多解析器(2)

时间:2011-08-02 BlogJava sky''s blog

2. ivy设置

ivy设置在设置目录中生成,它只包含一个文件: ivysettings.xml.

<ivysettings>    <settings defaultResolver="chain-example"/>    <resolvers>      <chain name="chain-example">        <filesystem name="libraries">          <artifact pattern="${ivy.settings.dir}/repository/[artifact]-[revision]. [ext]" />        </filesystem>        <ibiblio name="ibiblio" m2compatible="true" />      </chain>    </resolvers> </ivysettings>

3. 设置标签

这个标签用一些参数初始化ivy.这里只使用了一个,默认使用的解析器的名称。

4. 解析器标签

在这个标签下,我们可以找到ivy将使用的解析器的描述。在我们的例子中,我们仅使用一个解析器, 称为"chain-example",它非常特殊在于它定义了一个解析器列表(或言之链)。

放在在链中的解析器有:

* libraries : 这是一个文件解析器。这个解析器被配置为在包含ivysettings.xml文件的目录下 的"repository"子目录查找制品。

* ibiblio : 这个解析器很特殊。它查找ibiblio maven仓库来获取类库。

就这样,我们配置好了解析器链。

2) walkthrough

步骤 1: 准备

打开一个dos或者shell串口,并进入"chained-resolvers"目录。

步骤 2: 清理目录树

在提示符下: ant

这将清理完整的项目目录树和ivy缓存。每次你想清理这个例子的时候你都可以这样做。

在几乎所有的例子中,我们提供clean target作为默认的target。既然大

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号