将SBT目标/目录(已编译的类)重定位到ramdisk / temporary目录

时间:2017-08-16 20:51:10

标签: scala sbt

在给定的SBT项目的target/目录中,可能会发生相当多的磁盘I / O.

考虑到使用SSD(固态驱动器),或者甚至可能只是在I / O速度很慢时提高编译性能,可能需要将目标目录重定位到诸如/tmp之类的ramdisk。

理想情况下,这将是~/.sbt/0.13/global.sbt中指定的用户全局设置,以便特定于项目的设置不会绑定到特定开发人员的设置。

如何将target/目录重新定位到文件系统中的其他位置,理想情况下包括项目的自动子目录以防止冲突?

我发现了以下内容:

target <<= (name) { file("/tmp/sbt/") / _ }

forum上,但这似乎使用了过时的<<=运算符,我无法弄清楚如何使用现代语法重写它。

1 个答案:

答案 0 :(得分:1)

in the official documentation描述了如何根据其他设置进行设置。在你的情况下,它可能看起来像这样:

target := file("/tmp/sbt") / name.value