我目前正在使用IDEA的构建机制和fsc进行Scala开发。它仍然有点慢,而且必须(重新)启动编译服务器是一件痛苦的事情。这里的许多人建议将SBT与IDEA一起作为构建工具。
您认为每种方法的优缺点是什么?
发布于 2011-03-18 05:20:11
我两个都试过了,最后我更喜欢直接使用sbt编译。
缺点?我真的很怀念能够点击查看编译错误并直接修复代码的能力,但是...在sbt中编译要快得多。
Idea Scala插件的夜间构建在质量/性能上可能会有所不同,但最近它变得越来越好。Scala插件现在可以标记一些错误,在此之前,我必须运行compile来捕获这些错误。(例如,我每晚运行构建0.4.693,而新的方法检查已经非常有用。)
我对在命令行中使用sbt的建议是:启动sbt,并让它尽可能长时间地交互运行,以便充分利用正在加载和即时执行的所有内容。
sbt left running最终会崩溃,但是通过在你的sbt包装器中给它更多的内存,你可以使这种情况很少发生。
这是适用于我的sbt启动包装器。
java -Xms512M -Xmx1500M -XX:MaxPermSize=512m -jar `dirname $0`/sbt-launch.jar "$@"我使用sbt 0.7最大的问题是,它经常返回并重新编译大量文件,这些文件似乎只与我实际更改的代码无关。(即便如此,仍然比Idea和fsc更快!)
好消息: sbt 0.9有一些很好的增量编译改进。不幸的是,从0.7到0.9的迁移路径仍处于早期阶段。如果你感兴趣,马克·哈拉在NEScala上的演讲可以在http://www.nescala.org/2011/上看到。
有用的插件
https://stackoverflow.com/questions/5344441
复制相似问题