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

标签 scala maven sbt ivy

我对 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 plugin 提供的“IvyDE Managed Dependencies”。
1) browse to the target/scala-version/ivy-1.0.xml file
2) select desired configurations (compile, runtime, test, provided, etc.)

现在您有了 sbt 配置的 Ivy 表示。

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

如果这种方法可以应用于 IntelliJ,请保持发布

关于scala - 如何为 SBT 设置本地代理存储库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9832710/

相关文章:

scala - 从 Actor 返回实际结果而不是 Promise/Future

maven - Grails 2.3.6缺少 repo 问题

java - 测试包中的类在 IntelliJ 中编译时不可用

scala - sbt - 包括额外的源目录

sbt - 尽管我的系统中安装了相同的版本,但出现 "org.scala-sbt#sbt;0.13.8: not found"错误。如何解决?

java - 面向 .NET 开发人员的 Scala IDE

scala - Scala 中 RDD 的直方图?

scala - 方法返回类型协方差

scala - 在 Scala Spark 中将 csv 文件作为数据帧读取时提供架构

Android Lombok IntelliJ 集成