Scala 移动项目目录时保留sbt增量编译的结果

Scala 移动项目目录时保留sbt增量编译的结果,scala,sbt,incremental-compiler,zinc,Scala,Sbt,Incremental Compiler,Zinc,考虑这个场景:我有一个由sbt管理的简单scala项目,位于名为foo的目录中 cd foo sbt compile 现在只需几秒钟,项目就能正确编译 现在,感谢sbt增量编译,如果我运行 sbt compile 由于源代码没有更改,它将在接近0秒的时间内终止编译任务 但是如果我将foo目录重命名为bar cd .. mv foo bar 并尝试再次编译它 cd bar sbt compile 现在编译任务又需要几秒钟的时间,因此不使用上一次编译的结果 即使项目在磁盘上的绝对路径已更改,

考虑这个场景:我有一个由sbt管理的简单scala项目,位于名为
foo
的目录中

cd foo
sbt compile
现在只需几秒钟,项目就能正确编译

现在,感谢sbt增量编译,如果我运行

sbt compile
由于源代码没有更改,它将在接近0秒的时间内终止编译任务

但是如果我将
foo
目录重命名为
bar

cd ..
mv foo bar
并尝试再次编译它

cd bar
sbt compile
现在编译任务又需要几秒钟的时间,因此不使用上一次编译的结果


即使项目在磁盘上的绝对路径已更改,是否有办法保留项目的增量编译结果?

事实证明,要使增量编译结果可缓存,仍有一些工作正在进行中。以下是相关的PR:


此外,关于使锌的分析完全独立于机器,还有一个问题(在撰写本文时正在讨论)。请参阅。

您也可以尝试使用囤积器插件:


如果有任何问题,请在囤积者的gitter上给我打电话。

好的,显然sbt使用绝对路径存储增量编译的结果,这就是它崩溃的原因。现在,如何修复它?我会使用sbt gitter频道:)这听起来像是一个非常复杂的问题。谢谢!我很清楚这一点,我计划很快尝试一下!:)