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

Dus*_*san 5 gradle gradle-eclipse

2个gradle项目,A和B,其中A具有对B定义的编译依赖性.为maven和gradle项目启用了JAR的Remappig.我尝试启用和禁用自定义工具模型.我在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尝试从本地存储库解析而不是放弃?

Kri*_*ris 5

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

依赖的"重映射"确实不是 "解析"项目,它把工作区为某种版本库的意义上的工作区.

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

因此,这意味着您必须至少将jar发布到可以在重新映射可以启动之前解决的地方.(从那时起,您不必重新发布您的jar,因为解决问题并不重要jar不是'最新的')

其他一些可能有用的知识......

  • 重新映射仅适用于工具托管依赖项,因此必须启用"依赖项管理".

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