【问题标题】:SBT is not downloading dependencies to ivy cache after upgrade 0.13.9 -> 1.1.2升级 0.13.9 -> 1.1.2 后,SBT 没有将依赖项下载到 ivy 缓存
【发布时间】:2018-09-14 22:57:18
【问题描述】:

我有一个具有以下解析器定义的 SBT 项目:

resolvers += Resolver.mavenLocal
resolvers += Resolver.url("my-release", url("https://myrepo.net/artifactory/libs-release"))
resolvers += Resolver.url("my-snapshot", url("https://myrepo.net/artifactory/libs-snapshot-local"))

(我更改了我公司的回购 URL)。

SBT 0.13.9 能够从指定的存储库(包括本地 Maven)中解析我公司的工件,但是当我尝试升级到 1.1.2 时,它似乎只能解析已经下载到本地常春藤缓存的工件.未找到新工件。以下是运行sbt update 命令的部分输出:

[warn]  module not found: com.mycompany.artifact#my-artifact;1.2.3
[warn] ==== local: tried
[warn] ==== public: tried
[warn] ==== local-preloaded-ivy: tried
[warn] ==== local-preloaded: tried
[warn] ==== Maven2 Local: tried
[warn] ==== my-release: tried
[warn] ==== my-snapshot: tried
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::          UNRESOLVED DEPENDENCIES         ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: com.mycompany.artifact#my-artifact;1.2.3: not found
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::

所以它似乎检查了我的 repos,但仍然找不到工件。

我可以做的解决方法是回滚到 SBT 0.13,至少构建一次项目(0.13 会将缺少的工件添加到 ivy 缓存),然后将版本更改回 1.1.2。

更新:看起来对于 maven 存储库,您需要使用 at 而不是 Resolver.url

resolvers += "my-release" at "https://myrepo.net/artifactory/libs-release"
resolvers += "my-snapshot" at "https://myrepo.net/artifactory/libs-snapshot-local"

这样就可以正常工作了。

【问题讨论】:

    标签: sbt ivy


    【解决方案1】:

    看起来,对于 maven 存储库,您需要使用 at 而不是 Resolver.url

    resolvers += "my-release" at "https://myrepo.net/artifactory/libs-release"
    resolvers += "my-snapshot" at "https://myrepo.net/artifactory/libs-snapshot-local"
    

    这样就可以正常工作了。

    【讨论】:

      猜你喜欢
      • 2016-01-30
      • 2015-05-29
      • 2015-11-14
      • 1970-01-01
      • 2015-11-05
      • 2021-10-19
      • 1970-01-01
      • 2015-08-20
      • 1970-01-01
      相关资源
      最近更新 更多