Apache Ivy&设置文件

时间:2011-09-08 18:27:36

标签: apache ant ivy

我正在为新的Java项目编写我的第一个Ivy配置,并且正在尝试将我的ivy-settings.xml文件挂钩到我的buildscript。

我已经按照所有教程并正确地将xmlns:ivy="antlib:org.apache.ivy.ant"命名空间添加到了我的build.xml文件中。到目前为止,我已经尝试运行我的resolve和cleancache目标,它们分别运行ivy:resolveivy:cleancache,并且所有目标似乎都在工作(Ant可以找到Ivy)。

然而......当我运行常春藤:解决时,它默认会直接进入公共回购。由于我的解析器是用来查看我的SVN根目录的,所以我必须得出结论,Ivy没有看到我的ivy-settings.xml文件,默认情况下会进入公共存储库。

我故意将我的ivy-settings.xml文件保存为源代码管理中的单独项目,因为它将被我的所有项目使用。

所以我的问题:

如何指示Ant buildcipt在我的文件系统中的其他位置查找ivy-settings.xml的签出版本,而不只是在本地与build.xml位于同一目录中?

1 个答案:

答案 0 :(得分:1)

将设置文件名更改为:

ivysettings.xml

如果要更改此默认名称和位置(与构建文件相同的目录),请使用“设置”任务

更新

这是我在调用 cleancache 任务的常春藤解决之前确保加载设置文件的方法。创建一个名为 init 的目标,该目标被声明为依赖项

<target name="init">
    <ivy:settings file="../../ivysettings.xml"/>
</target>

<target name="resolve" depends="init">
    <ivy:resolve/>
</target>

<target name="clean" description="Cleanup build directory">
    <delete dir="${build.dir}"/>
</target>

<target name="clean-all" depends="init,clean" description="Clean and purge caches">
    <!-- Purge the ivy cache -->
    <ivy:cleancache/>
</target>