我对Maven / Ivy知之甚少,但我知道这些技术是SBT自动下载和管理库的能力的原因。
当我尝试从SBT生成IntelliJ Idea项目时(Idea或生成器插件)未能找到存储在常见Ivy 2缓存中的缓存库。我已经通过设置SBT项目来解决问题,以使用在项目目录下存储已下载库的旧方案。我的另一个项目使用旧的SBT版本,默认情况下这样做。在这两种情况下,我都会使用clean
命令在备份之前删除库二进制文件,并在再次下载所有库之后使用update
。这意味着我多次下载相同的库文件。
问题是如何设置本地存储库来缓存库,以便SBT更新将从本地缓存中下载库(如果可用)?如果可能的话,最好使用现有的~/.ivy2/cache
目录作为缓存。
当你至少掌握了Ivy 2的基本知识时,我倾向于认为这可能相当简单。
答案 0 :(得分: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.)
现在你有一个常春藤代表你的sbt配置。
这有一个令人讨厌的例外:在“sbt clean”上,常春藤配置文件被吹走了,你必须重复上述内容。 Eclipse项目清理保留了常春藤配置,顺便说一句。
如果此方法可以应用于IntelliJ
,请继续发布