2012-04-28 103 views
0

模块A使用模块B.我编译模块B意味着一个新的jar在~/.ivy2/local/[group]/B/[version]/B-[version].jar~/.ivy2/cache未更新。常春藤缓存未更新编译和发布的模块

我的问题是,模块A试图在~/.ivy2/cache中找到B(这就是IvyDE指出的)。

如何确保项目B编译后缓存更新?

问候

+0

无论何时对新版本的项目B执行ivy“resolve”或“retrieve”,缓存都会更新。通常,存储库位于另一台机器上,这是缓存后面的目的。 – 2012-04-28 23:30:47

回答

1

您可能需要使用IvyDe的workspace resolver特点:

enter image description here

这将使得直接可用的所有日食projectes,而不需要构建/发布日artfifacts。

注意:截图ist为2.2.0Beta,但该功能也存在当前版本。

+0

+1 @oers在ivy.xml依赖关系解析错误消失(即识别基于工作空间的依赖关系)的意义上工作,但实际上并未向依赖项目提供类文件,这意味着没有任何更改; - ( – virtualeyes 2012-05-07 14:30:58

+0

@virtualeyes你是什么意思?你仍然在eclipsse中得到编译错误?是其他项目设置正确(src文件夹等)。你试过一个项目干净吗? – oers 2012-05-07 19:30:19

+0

我必须手动引用父依赖在儿童项目中,不是世界末日,而是一件很麻烦的事情,这是一个Scala项目;通过SBT,一切都很好,并且可以激发父母 - 子项目没有问题。看起来SBT的收益是Eclipse/IvyDE(因为ivy.xml中的父类依赖没有任何作用,大概是由于父项目不是jar'd,而是在eclipse中像在子项目中一样被编译为“live”) – virtualeyes 2012-05-07 20:59:41