gpt4 book ai didi

scala - sbt/ivy 无法解析通配符 ivy 对文件系统解析器的依赖

转载 作者:行者123 更新时间:2023-12-04 15:44:05 25 4
gpt4 key购买 nike

我正在使用 ~/.sbt/repositories文件告诉 sbt 0.13.5 要从哪些存储库中检索。该文件仅包含 localfile://具有与标准 sbt 非常相似的自定义布局的存储库,具有 sbtVersionscalaVersion表示的可选字段。

在解决我的项目的依赖项时,我注意到奇怪的行为:

  • 解决确切的依赖关系很好
  • latest.integration也可以正常工作
  • x.y.+ 形式的通配符解析找到任何东西,而是似乎在寻找文字模式。我收到以下形式的错误:

  • [警告] ==== myrepo:试过
    [警告] file://path/to/my/repo/myorg/mypackage_2.10/[revision]/ivy-[revision].xml
    [信息] 正在解决 myorg#mypackage_2.10;2.7.1.+ ...
    [警告] 未找到模块:myorg#mypackage_2.10;2.7.1.+

    如您所见,明确提及 repo 布局模式。

    我很困惑,因为解析器适用于除 + 之外的任何东西。通配符依赖。我尝试在 ivy 文档中查找某些解析器(如我正在使用的 file:// 解析器)是否没有实现某些类型的依赖解析,但这似乎不是问题,所以我大部分都难住了。知道我可以做些什么来使它工作,或者是什么原因造成的?

    最佳答案

    过去我遇到过类似的问题。我们有一个或多个要构建的应用程序,所有这些应用程序都使用相同的 Ivy2 缓存。如果我们在这些构建中使用通配符,我们有时会遇到无法正确解析依赖关系的情况。只有当我们使用通配符时才会出现问题。其他一切都很好。

    我们发现的问题是在某些情况下 Ivy2 缓存会损坏。一般来说,解决方案是从 Ivy2 缓存中删除有问题的库。然后,如果我们再次运行构建,它将起作用。

    我最终发现了一篇文章,其中暗示 Ivy2 Cache 上的某些操作不是线程安全的。 IE。在某些情况下,同时运行多个构建可能会损坏缓存。我们最终为所有build设置了自定义 Ivy Cache 文件夹。这解决了问题。

    抱歉,我找不到引导我走这条路的原始帖子,但下面的帖子可能有些相关。

    https://groups.google.com/forum/#!topic/simple-build-tool/eCOkACPjm9E
    https://groups.google.com/forum/#!topic/simple-build-tool/wFXhJcngy9Y

    关于scala - sbt/ivy 无法解析通配符 ivy 对文件系统解析器的依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25428309/

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