24

我将 Ivy 用作我的持续集成构建系统的一部分,但我需要覆盖 Ivy 的本地缓存区域所在的默认位置。

4

3 回答 3

19

像这样的东西ivysettings.xml

<ivysettings>
    <caches defaultCacheDir="/path/to/my/cache/dir"/>
</ivysettings>

请参阅http://ant.apache.org/ivy/history/latest-milestone/settings/caches.html上的文档

于 2009-08-18T10:56:36.720 回答
13

我使用Jenkins作为CI构建系统,并创建$HOME/.ivy2/ivysettings.xml:</p>

<ivysettings>
    <properties environment="env" />
    <caches defaultCacheDir="${env.WORKSPACE}/.ivy2/cache" />
</ivysettings>

这会在每个詹金斯作业的工作区创建常春藤缓存目录。

于 2012-09-29T02:53:21.083 回答
4

尽管 skaffman 的上述答案是正确的,但我发现它比我预期的要多得多!

当我将 ivysettings.xml 文件添加到项目中时,我需要重新定义几乎所有内容,因为在此之前默认值一直运行良好。

所以,我发现了如何将新的缓存目录添加到我的 NAnt 脚本中的内联命令行中......

< exec program="java" commandline="... ... -jar ${ivy.jar} -cache ${project.cache} ... ... />

${ivy.jar}我的 .jar 文件的位置在哪里,并且${project.cache}是我希望使用缓存区域的脚本中先前设置的新位置。)

这意味着我不需要 ivysettings.xml 文件,我可以将所有内容恢复为使用默认解析器等。

于 2009-08-19T11:45:00.737 回答