SBT是否省略了JRebel?

Dav*_*vid 4 scala sbt

我的目标是减少Scala编译时间.我正在使用Intellij IDEA 10和Scala 2.8.1-RC1.

我已经读过使用SBT会减少编译时间,因为它只重新构建自上次构建以来已更改的文件/类.

我知道JRebel的目的非常相似.使用JRebel代替SBT还是除了SBT之外还有什么意义吗?

Jam*_*Iry 18

他们做不同的事情.SBT有一个非常快速的连续增量构建系统.JRebel在重建时动态地将类重新加载到正在运行的程序中.它类似于Java调试器修改正在运行的程序的能力,但具有更少的烦人限制.SBT和JRebel是互补的.


Jan*_*anx 5

您可能还会说SBT避免使用Hudson或其他CI工具.或者,当您输入无法编译的代码时,它会消除IDE生成的红色波浪线.但即使使用SBT,这些工具仍然有用,而且SBT提供了CI和热部署之外的许多强大功能.

它确实避免了Maven.

SBT与JRebel重叠了一下 - 比如当我使用SBT连续编译和重新部署Web应用程序到jetty(~prepare-webapp)时.这与使用JRebel不断将更改推送到Java应用程序容器非常相似.

它通过快速的代码更改检测和测试提供"差劲的人员持续集成":http://devblog.point2.com/2009/07/27/scala-continuous-testing-with-sbt/

通常,SBT是您应该用于Scala的make/ant/maven替代品.我对它如何简化开发总是印象深刻,当我回到Java/Maven(甚至使用JRebel)时我会想念它.无论您认为哪些其他工具和框架有用,都应该使用它.

希望有帮助:)