首页 文章

如何为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 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.)
    

    现在你有一个常 Spring 藤代表你的sbt配置 .

    这非常有效,有一个令人讨厌的例外:在“sbt clean”上,常 Spring 藤配置文件被吹走了,你必须重复上述内容 . Eclipse项目干净保存常 Spring 藤配置,顺便说一句 .

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

相关问题