[英]How do I solve Multiple artifacts of the module X are retrieved to the same file in Apache Ivy?
[英]How do you configure Apache Ivy to remove orphan artifacts?
假設我有一個包含以下內容的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
文件。 在第二次配置之后,我還有checkstyle-4.4.jar
文件,而checkstyle-4.3.jar
文件仍然存在。
有沒有辦法讓Ivy意識到舊文件是一個孤兒,並從lib
目錄中刪除它? 我的想法是,每次升級工具時,我都不希望開發人員的磁盤空間使用率大幅增加。
理想情況下,我也希望它從本地存儲庫中刪除。 我確實意識到本地存儲庫的意圖是它在項目之間共享,因此刪除任何東西都沒有意義,因為它不知道該工件是否仍在其他項目中使用。 但必須有某種修剪程序......
我一直在使用Ivy 2.0.0,所以我不知道這是否適用於你正在使用的版本。
常春藤retrieve
任務具有sync
屬性。 將其設置為true
,將刪除檢索到的目錄中的未使用/未知文件(在您的情況下為lib
)。 請記住,這將意味着將刪除Ivy未專門解析的此目錄中的任何手動復制的工件。
另請注意,如果使用sync
選項但Ivy不解析依賴項(例如,空或缺少ivy.xml
),則將刪除檢索目錄。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.