当我为不同的分支有不同的工作区时,我在使用 IvyDE 时遇到了问题。我打开了“解决工作区中的依赖关系”。但是每次我更改到不同的工作区时,我都必须记住手动清理缓存。这是因为 IvyDE 总是使用默认缓存来解决工作空间内的依赖关系,因此在工作空间之间切换时,缓存可能会被不同版本污染。
似乎不可能同时使用两个不同的工作区。
我找不到配置 IvyDE 用于缓存项目依赖项的位置的方法。它似乎没有使用 ivysettings.xml 中定义的缓存
我现在得到了最新版本的 IvyDE 正确使用的配置。
在我的 ivysettings.xml 我已经包含了这一行
<properties file="./revision.properties" />
这将设置我们的无头构建脚本使用的属性revision.version 。
然后我设置以下属性
<property name="ivy.build.cache" value="${ivy.default.ivy.user.dir}/cache/${revision.version}" override="false" />
然后使用以下配置块设置 ivyDE 使用的默认缓存
<caches defaultCacheDir="${ivy.build.cache}">
<cache name="cache" basedir="${ivy.build.cache}" />
</caches>
然后任何解析器都需要明确设置此缓存,如下所示:
<filesystem name="build" cache="cache" latest="latest-revision">
如果您在同一个分支上有多个工作区,这将无济于事。但这确实意味着您可以同时在不同的分支上工作而不会出现问题。