我将现有的java multimodule项目转换为gradle。依赖关系有点复杂 - 简而言之,我有以下几点:
Root project MainProject
+--- Project ':P1'
| \--- Project ':P1:P2'
\--- Project ':utilProject'
因此,我的mainProject依赖于P1,而P1又依赖于P2和utilProject。 问题是, P1和P2都依赖于utilProject 。
在每个项目的build.gradle中只编译了':utilProject' (项目总是在根目录中,主要项目看起来如上所述):
dependencies {
compile project(':utilProject')
// compile some other dependencies
}
P1和P2很好(编译没有错误),但主项目不会编译。我试过更改utilProject中的代码,发现虽然utilProject本身确实编译了最新的更改,但主项目对他们来说是盲目的。
非常感谢任何想法。
///更新 - 2014年7月20日
忘了提到MainProject是一个eclipse插件,所以我们使用wuff插件进行编译(虽然我不确定它是否相关)。
似乎没有必要使用P2 - P1也不会编译(以前它只是没有使用那些更新的代码。我的不好)。
此外,虽然我无法复制,但我找到了一种解决方法 - 将最新的utilProject.jar添加到依赖列表似乎可以解决问题。我不确定为什么它是必要的......任何想法?请注意,我确实必须将P1.jar添加到MainProject中以使其工作正常,这似乎表明依赖项列表存在问题,但该列表上的所有项目都编译得很好。