6

ivy.xml以下を含む があるとします。

  <dependency org="checkstyle" name="checkstyle" rev="4.3" />

そして、Checkstyle 4.4 にアップグレードしたいので、ivy.xml以下を含むように変更します。

  <dependency org="checkstyle" name="checkstyle" rev="4.4" />

retrieve最初の構成の後、ファイルがありますcheckstyle-4.3.jar。2 番目の構成の後、ファイルもcheckstyle-4.4.jarあり、ファイルcheckstyle-4.3.jarはまだ存在します。

Ivy に古いファイルが孤立していることを認識させ、libディレクトリから削除する方法はありますか? ツールをアップグレードするたびに、開発者のディスク容量の使用量が大幅に増加することを望まないという考えです。

理想的には、ローカルリポジトリからも削除したいと思います. ローカル リポジトリの目的は、プロジェクト間で共有されることであることを理解しています。そのため、アーティファクトが他のプロジェクトでまだ使用されているかどうかがわからないため、何かを削除しても意味がありません。しかし、ある種の剪定手順があるに違いありません...

4

1 に答える 1

10

Ivy 2.0.0 を使用しているため、使用しているバージョンにこれが当てはまるかどうかはわかりません。

Ivyretrieveタスクにはsync属性があります。これを に設定すると、取得したディレクトリ (あなたの場合) 内trueの未使用/不明なファイルが削除されます。これは、Ivy が具体的に解決しない、このディレクトリ内の手動でコピーされたアーティファクトが削除されることlibを意味することに注意してください。

また、オプションを使用しても Ivy が依存関係を解決しない場合 (たとえば、sync空または missing )、取得ディレクトリが削除されることに注意してください。ivy.xml

于 2009-04-19T15:51:02.157 に答える