![](/img/trans.png)
[英]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.