gpt4 book ai didi

scala - sbt retrieveManaged 不获取使用 publish-local 生成的 jar

转载 作者:行者123 更新时间:2023-12-02 02:07:06 24 4
gpt4 key购买 nike

假设我有一个项目,我在其中使用了 sbt publish-local~/.ivy2/local 中生成 jar 文件的本地副本.

同一台机器上的另一个sbt项目可以成功定位到这些jar来满足依赖。但是,如果在该项目中我使用选项 retrieveManaged := true , sbt 从不复制 ~/.iv2/local 中的 jar 进入lib_managed目录。

How can I make this happen? (Is this behaviour intended?)

(我正在使用 sbt 0.12.1。)

最佳答案

我正在使用相同的设置。当我更新本地发布的依赖项时,我首先删除托管的 jar,然后运行更新:

$ rm -r lib_managed/jars/my-package-prefix
$ sbt test:compile

(test:compile 会发现 jars 丢失并自行执行 update)。

在旧版本的 sbt 中,我相信在使用 -SNAPSHOT 版本时存在问题,但我在 sbt 0.12 中再也没有看到这个问题。

在极少数情况下,Ivy 缓存出现问题,您无法以某种方式执行更新。当使用了损坏的 Ivy 元数据文件时,可能就是这种情况。那么唯一的解决方案是从 ~/.ivy2/local~/.ivy2/cache 中清除所有依赖项,重新发布并重新更新。

关于scala - sbt retrieveManaged 不获取使用 publish-local 生成的 jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14432528/

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