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

6
我对Maven / Ivy几乎一无所知,但知道这些技术是SBT自动下载和管理库的背后。当我尝试从SBT生成IntelliJ Idea项目时,它(Idea或生成器插件)未能在常见的Ivy 2缓存中找到缓存的库。我通过设置SBT项目使用旧方案将下载的库存储在项目目录下来解决了这个问题。我的另一个项目使用旧的SBT版本,默认情况下就是这样做的。在这两种情况下,我使用“clean”命令在备份之前删除库二进制文件,并在“update”之后再次下载所有库。这意味着我多次下载相同的库文件。
问题是如何设置本地存储库以缓存库,以便SBT更新会从本地缓存中下载可用的库?如果可能的话,最好使用现有的“~/.ivy2/cache”目录作为缓存。我倾向于认为,如果你至少具备基本的Ivy 2知识,那么这可能相当简单。
1个回答

3
伊万,这可能会有所帮助。
sbt
> deliver-local
[info]  delivering ivy file to /.../target/scala-2.9.1/ivy-1.0.xml

然后,您需要找到IntelliJ相应的步骤,但在Eclipse中,您需要使用由IvyDE插件提供的“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表示。这非常好用,但有一个令人烦恼的例外:在执行"sbt clean"时,ivy配置文件将被删除,您需要重复上述步骤。顺便说一下,Eclipse项目清理会保留ivy配置。请继续关注,看看这种方法是否适用于IntelliJ。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接