eclipse gradle工作区之间的gradle项目无法工作

时间:2015-04-09 07:54:06

标签: gradle gradle-eclipse

2个gradle项目,A和B,其中A具有对B定义的编译依赖性。 JAR的Remappig已启用maven& gradle项目。我尝试启用和禁用自定义工具模型。我在init.d目录下的文件中定义了本地存储库。

问题1:为什么在解决A的依赖关系时,会收到项目B的欠解决依赖性错误?即使B未部署到任何存储库,本地工作空间解析也应该以与maven项目相同的方式启动并解决它(btw工作正常)。

问题2:除了build.gradle中定义的组和版本之外,B是否需要具有特殊功能才能在工作空间分辨率下可见?

我正在运行eclipse 4.4.1和Gradle IDE 3.7.0.201503301651-CI-B39。我也尝试过使用相同的eclipse版本的稳定版本。

当使用--debug运行时,我可以看到gradle尝试从本地存储库中解析而不是放弃?

1 个答案:

答案 0 :(得分:5)

你的问题的答案归结为没有工作区解析,因为你可能从maven / m2e知道它。

重新映射'依赖关系'解决'工作空间中的项目,因为它将工作空间视为某种存储库。

相反,依赖关系通常由Gradle从您在构建脚本中定义的任何存储库中解析。然后,工具将尝试确定某些已解析的 jar依赖项是否与工作空间中的项目相对应。然后它取代' (或重新映射')具有项目依赖性的jar依赖项。

因此,这意味着您必须至少将jar发布到可以在重映射启动之前解决的地方。(从那时起,您不必重新发布您的jar,因为它不会真的很重要,已解决的罐子不是最新的')

其他可能有用的事情......

  • 重新映射仅适用于工具托管依赖项,因此您必须具有“依赖项管理”功能。启用。

  • bug导致这不适用于平面文件'回购。可能还有其他案例受到类似错误的影响。如果碰到这些错误,你应该报告这些错误。 (尽管我自己也没有多少运气让Gradle民众关注flatfile错误)