在这个例子中,我们将看到使用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文件的参考文档。