一种类似于(但不如不缓存)不缓存的解决方案是通过设置以下 ivy 属性来减少缓存中的时间:
ivy.cache.ttl.default = 30s
现在,也许这可以解决您的问题。虽然,它并不比不缓存好多少。
在我的脑海中,我可能会尝试的另一件事是关闭缓存,然后通过在指向缓存的 ivy 设置文件中创建文件系统解析器并将其放置在链上的较低位置来手动重新实现缓存。看起来像这样:
<ivysettings>
<settings defaultResolver="all-repositories" />
<include file="ivysettings-common.xml" />
<resolvers>
<chain name="all-repositories" returnFirst="true" >
...
<ibiblio name="ibiblio" m2compatible="true" />
<filesystem name="manual-cache">
<ivy pattern="${ivy.default.ivy.user.dir}/cache/${ivy.local.default.ivy.pattern}" />
<artifact pattern="${ivy.default.ivy.user.dir}/cache/${ivy.local.default.artifact.pattern}" />
</filesystem>
...
</chain>
</resolvers>
</ivysettings>
注意:ivy.default.ivy.user.dir、ivy.local.default.ivy.pattern和ivy.local.default.artifact.pattern是默认设置的内置属性。我在这个例子中引用了它们,但我不需要做任何其他特别的努力来设置它们(它们已经包含正确的默认值)。
我希望其中一种方法可以解决您的问题。这是目前唯一想到的两种可能的解决方案。