繁体   English   中英

如何配置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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM