eclipse gradle工作区在gradle项目之间的解析不起作用
2个gradle项目,A和B,其中A定义了对B的编译依赖关系。maven和gradle项目启用JAR的重新应用。我已尝试启用和禁用自定义工具模型。我在init.d目录下的文件中定义了本地存储库 问题1:为什么在解析项目A的依赖项时,会出现项目B的未解析依赖项错误?即使B没有部署到任何存储库,本地工作区解析也应该以与maven项目相同的方式启动并解析它(顺便说一句) 问题2:除了build.gradle中定义的组和版本外,B是否需要有任何特殊的内容才能用于工作区解析 我使用eclipse 4.4.1和Gradle IDE 3.7.0.201503301651-CI-B39运行。我也尝试过使用相同的eclipse版本发布稳定版本eclipse gradle工作区在gradle项目之间的解析不起作用,gradle,gradle-eclipse,Gradle,Gradle Eclipse,2个gradle项目,A和B,其中A定义了对B的编译依赖关系。maven和gradle项目启用JAR的重新应用。我已尝试启用和禁用自定义工具模型。我在init.d目录下的文件中定义了本地存储库 问题1:为什么在解析项目A的依赖项时,会出现项目B的未解析依赖项错误?即使B没有部署到任何存储库,本地工作区解析也应该以与maven项目相同的方式启动并解析它(顺便说一句) 问题2:除了build.gradle中定义的组和版本外,B是否需要有任何特殊的内容才能用于工作区解析 我使用eclipse 4.4.
使用--debug运行时,我可以看到gradle试图从本地存储库解析,而不是放弃?这两个问题的答案归结为一个事实,即没有工作区解析,正如您在maven/m2e中可能知道的那样 依赖项的“重新映射”不会“解析”工作区中的项目,因为它将工作区视为某种存储库 相反,依赖关系通常由Gradle从构建脚本中定义的任何存储库中解析。然后,该工具将尝试确定某些已解析的jar依赖项是否对应于工作区中的项目。然后,它将jar依赖项“替换”(或“重新映射”)为项目依赖项 因此,这意味着您必须至少将jar发布到某个可以解析的地方,然后才能重新映射。(从那时起,您不必重新发布jar,因为解析的jar是否“最新”并不重要) 了解一些其他可能有用的事情
- 重新映射仅应用于工具管理的依赖项,因此必须启用“依赖项管理”
- 有一个原因使得这不适用于“平面文件”回购。可能还有其他受类似错误影响的情况。如果你遇到这些bug,你应该报告它们。(尽管我自己运气不太好,没有引起格雷德尔家族对平面文件bug的注意)