eclipse - 共享ivy缓存但在eclipse中单独的分辨率缓存

标签 eclipse ivy ivyde

在我们的环境中,我们最终会拥有多个工作区(主干加上多个分支)。

我们希望分离我们的分辨率缓存,但共享实际的缓存。

到目前为止,这很容易,但它需要手动编码本地解析缓存名称的标识符(例如,在 ivysettings.local.xml 中),显然这不是最理想的,并且必须为每个分支(如果每个分支有多个工作区,则为工作区)。

我们想要做的是使用工作区名称(就好像 Eclipse 提供了一个 ${workspace_name} 变量),但情况似乎并非如此。我在可用变量列表中没有找到类似的内容,并且在调试器中运行 ivy 时我们没有看到任何保存工作区名称的内容。

我已经研究了这两个问题,但似乎都没有解决这个问题:

Managing conflicting ivy repositories (in eclipse)

How to override the location of Ivy's Cache?

最佳答案

事实证明这比我们想象的要容易,但我认为这可能对其他人有帮助。我们使用相对路径,而不是通过名称告诉 ivy 解析缓存名称是什么。来 self 们的 ivysettings.local.xml(包含在每个工作区的项目中)的内容显示了我的意思:

结合起来:

<property name="ivy.local.resolution.cache" 
    value="${ivy.settings.dir}/../../.ivy/resolution-cache"/>

这样:

<caches default="local-cache" 
        defaultCacheDir="${ivy.local.cache}" 
        resolutionCacheDir="${ivy.local.resolution.cache}">
    <cache name="local-cache"/>
</caches>

让我们实现了大部分目标:我们有一个共享的本地缓存和每个工作空间的分辨率缓存。

但这给我们带来了另一个挑战:我们仍然想设置 changingPattern 正则表达式。为此,能够从 eclipse 中获取工作空间名称将非常有帮助。

我们将非常感谢您的建议。

关于eclipse - 共享ivy缓存但在eclipse中单独的分辨率缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12305618/

相关文章:

eclipse - 将 m2eclipse 的 War-Plugin 集成到 Eclipse 项目中

angular - 无法绑定(bind)到 'ngTemplateOutlet',因为它不是 'ng-container' 的已知属性

maven - MQ jar 与 Maven for IVY 兼容

java - 如何使用 ivy api 以编程方式为缓存中的模块构建路径?

java - 如何将 Ivy 的依赖项添加到 Eclipse PDE 目标平台?

eclipse - 如何在eclipse中使用Ivy + IvyDE将不同的jar放入lib和web-inf/lib中

eclipse - 使用 Eclipse 发布 tomcat 7.0

java - gwt mvp 联系人示例项目在 Eclipse 中导入时出现错误

Java:显示进度监视器和子进度监视器的进度

java - IvyDE+WTP : How to workaround that ivy library is ignored by WTP?