tion="--> 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 ? 页面来得到关于这个的更多细节。
3) 运行项目
好,现在我们看到文件已经解析好了,让我们运行这个实例来看会发生什么。打开一个shell(或者命 令行)窗口,并进入hello-ivy 实例目录。然后,在命令提示符下,运行"ant":
I:\hello-ivy>ant
Buildfile: src\example\hello-ivy\build.xml
resolve:
[ivy:retrieve] :: Ivy 2.0.0-beta1-local-20071104204849 - 20071104204849 :: http://ant.apache.org/ivy/ ::
[ivy:retrieve] No ivy:settings found for the default reference ''ivy.instance''. A default instance will be used
[ivy:retrieve] no settings file found, using default....
[ivy:retrieve] :: loading settings :: url = jar:file:/c:/dev/data/opensource_workspace/ivy/build/artifact/ivy- core.jar!/org/apache/ivy/core/settings/ivysettings.xml
[ivy:retrieve] :: resolving dependencies :: [ org.apache | hello-ivy | working@BEN-ScokartG ]
[ivy:retrieve] confs: [default]
[ivy:retrieve] found [ commons-lang | commons-lang | 2.0 ] in public
[ivy:retrieve] found [ commons-cli | commons-cli | 1.0 ] in public
[ivy:retrieve] found [ commons-logging | commons-logging | 1.0 ] in public
[ivy:retrieve] downloading http://repo1.maven.org/maven2/commons-lang/commons- lang/2.0/commons-lang-2.0.jar ....
[ivy:retrieve] ........................................................................
[ivy:retrieve] ................................................ (165kB)
[ivy:retrieve] .. (0kB)
[ivy:retrieve] [SUCCESSFUL ] [ commons-lang | commons-lang | 2.0 ]/commons-lang.jar[jar] (3335ms)
[ivy:retrieve] downloading http://repo1.maven.org/maven2/commons-cli/commons- cli/1.0/commons-cli-1.0.jar ....
[ivy:retrieve] .................................... (29kB)
[ivy:retrieve] .. (0kB)
[ivy:retrieve] [SUCCESSFUL ] [ commons-cli | commons-cli | 1.0 ]/commons -cli.jar[jar] (2053ms)
[ivy:retrieve] downloading http://repo1.maven.org/maven2/commons-logging/commons- logging/1.0/commons-logging-1.0.jar ....
[ivy:retrieve] .......... (21kB)
[ivy:retrieve] .. (0kB)
[ivy:retrieve] [SUCCESSFUL ] [ commons-logging | commons-logging | 1.0 ]/commons-logging.jar[jar] (1933ms)
[ivy:retrieve] :: resolution re
|