gpt4 book ai didi

gradle - gradle 项目之间的 eclipse gradle 工作区分辨率不起作用

转载 作者:行者123 更新时间:2023-12-04 19:04:04 27 4
gpt4 key购买 nike

2 个 gradle 项目,A 和 B,其中 A 定义了对 B 的编译依赖。为 maven 和 gradle 项目启用了 JAR 的重新映射。我试过启用和禁用自定义工具模型。我在 init.d 目录下的文件中定义了本地存储库。

问题 1:为什么在解析 A 的依赖项时,会出现项目 B 的依赖项 Unresolved 错误?即使 B 没有部署到任何存储库,本地工作区解析也应该以与 maven 项目相同的方式启动和解析它(顺便说一句)。

问题 2:除了 build.gradle 中定义的组和版本之外,B 是否需要有任何特殊的东西才能对工作区分辨率可见?

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

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

最佳答案

您的两个问题的答案都归结为这样一个事实,即您可能从 maven/m2e 中了解到没有工作区分辨率。

依赖项的“重新映射”不会“解决”工作区中的项目,因为它将工作区视为某种存储库。

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

因此,这意味着您必须至少将 jar 发布到某个可以解决的地方,然后才能开始重新映射。(从那时起,您不必重新发布您的 jar,因为已解决的问题并不重要jar 不是“最新的”)

了解其他一些可能有用的东西......

  • 重新映射仅适用于工具管理的依赖项,因此您必须启用“依赖项管理”。
  • 有一个 bug这使得这不适用于“平面文件” repo 。可能还有其他情况受到类似错误的影响。如果遇到此类错误,您应该报告此类错误。 (尽管我自己没有多少运气让 Gradle 人员注意到平面文件错误)
  • 关于gradle - gradle 项目之间的 eclipse gradle 工作区分辨率不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29532878/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com