如何为SBT设置本地代理存储库?

2024-01-19

我对 Maven/Ivy 的了解几乎为零,但知道这些技术是 SBT 自动下载和管理库的能力的背后。

当我尝试从 SBT 生成 IntelliJ Idea 项目时,它(Idea 或生成器插件)无法找到存储在公共 Ivy 2 缓存中的缓存库。我通过将 SBT 项目设置为使用在项目目录下存储下载的库的旧方案解决了该问题。我的另一个项目使用旧的 SBT 版本,默认情况下是这样做的。在这两种情况下我都使用clean在备份之前删除库二进制文件的命令update之后再次下载所有库。这意味着我多次下载相同的库文件。

问题是如何设置本地存储库来缓存库,以便 SBT 更新将从本地缓存下载库(如果可用)?使用现有的会很好~/.ivy2/cache如果可能的话,缓存的目录。

我倾向于认为,当您至少拥有基本的 Ivy 2 知识时,这可能相当简单。


伊万,这可能有帮助。

sbt
> deliver-local
[info]  delivering ivy file to /.../target/scala-2.9.1/ivy-1.0.xml

然后,您需要找到 IntelliJ 等效步骤,但在 Eclipse 中,您使用额外的库(由IvyDE插件 https://ant.apache.org/ivy/ivyde/

1) browse to the target/scala-version/ivy-1.0.xml file
2) select desired configurations (compile, runtime, test, provided, etc.)

现在你有了 sbt 配置的 ivy 表示。

这非常有效,但有一个令人讨厌的异常:在“sbt clean”上,ivy 配置文件被吹走,你必须重复上述操作。顺便说一句,Eclipse 项目 clean 保留了 ivy 配置。

如果此方法可以应用于 IntelliJ,请继续发布

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何为SBT设置本地代理存储库? 的相关文章

随机推荐