·天新网首页·加入收藏·设为首页·网站导航
数码笔记本手机摄像机相机MP3MP4GPS
硬件台式机网络服务器主板CPU硬盘显卡
办公投影打印传真
家电电视影院空调
游戏网游单机动漫
汽车新车购车试驾
下载驱动源码
学院开发设计
考试公务员高考考研
业界互联网通信探索
您现在的位置:天新网 > 软件开发
ivy教程(2)-快速开始
http://www.21tx.com 2009年10月08日 BlogJava sky ao

1 2 下一页

  在这个例子中,我们将看到使用ivy的一个最简单的方式。不使用任何特殊设置,ivy将使用maven2 仓库来解析你在ivy文件中声明的依赖。让我们来看一眼涉及到的文件的内容。

  你将在ivy发行包的src/example/hello-ivy 目录下找到这个教程的源文件。

  1) ivy.XML 文件

  这个文件用于描述项目对其他类库的依赖。

  这里是例子

<ivy-module version="2.0">
    <info organisation="apache" module="hello-ivy"/>
    <dependencies>
        <dependency org="commons-lang" name="commons-lang" rev="2.0"/>
        <dependency org="commons-cli" name="commons-cli" rev="1.0"/>
    </dependencies>
</ivy-module>

  这个文件的格式非常容易理解,但是让我们给出一些关于这里声明的东西的细节。首先,根元素ivy-module,version属性用于告诉ivy这个文件使用的ivy的版本。

  然后是info标签,用于给出和这个我们正在定义依赖的模块有关的信息。这里只定义了组织和模块名,你可以自由选择任何你想要的组织和模块名,但是我们建议不要带空格。

  最后,dependencies 部分让你定义依赖。这里这个模块依赖两个类库:commons-lang 和 commons-cli。如你所看到的,我们使用org和name属性来定义我们需要的依赖的组织和模块名。rev属性用于明确说明你依赖的模块的修订版本。

  为了知道如何填写这些属性,你需要知道你依赖的类库的准确信息。ivy默认使用maven2 仓库。我们推荐你使用mvnrepository.com 来查找你需要的模块。一旦你找到它,你将得到如何在一个maven POM中声明依赖的细节。例如:

<dependency>
    <groupId>commons-lang</groupId>
    <artifactId>commons-lang</artifactId>
    <version>2.0</version>
</dependency>

  为了将这些信息转换为ivy依赖声明,你所需要做的只是使用groupId 作为组织,artifactId作为模块名。这是我们在这个教程中为依赖做的,commons-lang 和 commons-cli。注意使用commons-lang 和 commons-cli 作为组织不是组织应该是什么的最好的例子。更好的方式是使用org.apache, org.apache.commons 或 org.apache.commons.lang. 然而,这是在maven2仓库中如何标识这些模块的方法,因此获得他们的最简单的方式是照原来的样子使用细节(你将会看到在构建一个仓库时,你可以使用命名空间来重新定义这些名称,如果你想让某些东西更加清晰)。

  如果你想得到在ivy文件中可以做什么的更多细节,你可以看一下ivy文件的参考文档。

  2) build.xml 文件

  对应的build文件包含一个target集合,容许解析在ivy文件中声明的依赖,编译并运行示例代码,生成依赖解析报告,并清理项目的缓存。

  你可以使用标准的"ant -p" 来获取可用的target列表。可以随意看一下整个文件,这里是和依赖解析有关的部分:

<project xmlns:ivy="antlib:org.apache.ivy.ant" name="hello-ivy" default="run">
   
    
   
    <!-- =================================
          target: resolve             
         ================================= -->
    <target name="resolve" description="--> retrieve dependencies with ivy">
        <ivy:retrieve />
    </target>
</project>

  如你所见,调用ivy来解析和获取依赖是非常简单的:如果ivy安装正确,你所需要做的只是在你的ant文件中定义一个xml的命名空间 (xmlns:ivy="antlib:org.apache.ivy.ant")。然后在这里命名空间中所有的ivy ant 任务都可用。

  这里我们只使用了一个任务:retrieve 任务。没有任何属性,它将使用默认设置并查找名为ivy.xml的文件来获取依赖定义。这正是我们想要的,因此我们不需要做其他。

  注意,在这案例中我们定义了一个"resolve" target 并调用了retrieve 任务。这听起来有点令人困惑,实际上retrieve任务会执行一次resolve(解析依赖并下载他们到本地缓存),然后再执行一次retrieve。查看How does it work ? 页面来得到关于这个的更多细节。

上一篇: ivy教程(9)-架设仓库(1)-介绍
下一篇: ivy教程(8)-使用ivy模块配置

1 2 下一页

关于我们 | 联系我们 | 加入我们 | 广告服务 | 投诉意见 | 网站导航
Copyright © 2000-2011 21tx.com, All Rights Reserved.
晨新科技 版权所有 Created by TXSite.net