假设:
活动:
我看过,但没有看到明显的解决方案(除了没有缓存?)。发布上是否有更新本地缓存和存储库的设置?您是否需要明确发布到两者?
答案 0 :(得分:0)
只是推测:如果A和B是在同一台机器上构建的,那么就可以进行< ivy:resolve refresh =“true”>在A的构建结束时刷新缓存?如果A和B建立在不同的机器上,那当然没有帮助......
答案 1 :(得分:0)
一个解决方案,类似于(但不是很糟糕)不缓存是通过设置以下常春藤属性来减少缓存中的时间:
ivy.cache.ttl.default = 30s
现在也许这会解决你的问题。虽然,它并不比不缓存好多了。
在我的脑海中,我可能尝试的另一件事是关闭缓存,然后通过在常春藤设置文件中创建指向缓存的文件系统解析器来手动重新实现缓存把它放在链条下面。这看起来像这样:
<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 是默认设置的内置属性。我在这个示例中引用了它们,但我不需要做任何其他特殊工作来设置它们(它们已包含正确的默认值)。
我希望其中一种方法可以解决您的问题。这是目前唯一可以想到的两种解决方案。