継続的インテグレーションビルドシステムの一部としてIvyを使用していますが、Ivyのローカルキャッシュ領域であるデフォルトの場所をオーバーライドする必要があります。
上記のskaffmanからの回答は正しいですが、予想よりもはるかに多くの作業が必要であることがわかりました。
Ivysettings.xmlファイルをプロジェクトに追加したとき、それまでデフォルト値が正常に機能していたため、ほとんどすべてを再定義する必要がありました。
そこで、NAntスクリプト内のインラインコマンドラインに新しいキャッシュディレクトリを追加する方法を見つけました...
< exec program="Java" commandline="... ... -jar ${ivy.jar} -cache ${project.cache} ... ... />
(どこ ${ivy.jar}
は私の.jarファイルの場所であり${project.cache}
は、スクリプトの前半でキャッシュ領域を使用する場所として設定された新しい場所です。)
これは、ivysettings.xmlファイルが不要であり、すべてをデフォルトのリゾルバーなどを使用するように戻すことができることを意味します。
ivysettings.xml
のこのようなもの:
<ivysettings>
<caches defaultCacheDir="/path/to/my/cache/dir"/>
</ivysettings>
http://ant.Apache.org/ivy/history/latest-milestone/settings/caches.html のドキュメントを参照してください。
私はJenkinsをCIビルドシステムとして使用し、$ HOME/.ivy2/ivysettings.xmlを作成します:
<ivysettings>
<properties environment="env" />
<caches defaultCacheDir="${env.WORKSPACE}/.ivy2/cache" />
</ivysettings>
これにより、各jenkinsジョブのワークスペースにivyキャッシュディレクトリが作成されます。