【问题标题】:Does SBT obviate JRebel?SBT 是否排除了 JRebel?
【发布时间】:2010-12-24 06:37:46
【问题描述】:

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

我读到使用 SBT 会减少编译时间,因为它很聪明地只重新构建自上次构建以来已更改的文件/类。

我了解 JRebel 的目的非常相似。使用 JRebel 代替或补充 SBT 是否有任何意义?

【问题讨论】:

  • 您不使用稳定版 2.8.1 的任何原因?
  • 只是还没跟上。立即将其添加到待办事项列表中。
  • 现在这个问题有 >1 年的时间,就像在冰箱后面的美酒或神秘的特百惠容器一样,应该注意的是 SBT 有一个 JRebel 插件:github.com/Gekkio/sbt-jrebel-plugin

标签: scala sbt


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    它确实避免了 Maven。

    对我来说,SBT 与 JRebel 有点重叠——就像我使用 SBT 不断编译和重新部署 Web 应用程序到码头 (~prepare-webapp) 时一样。这感觉很像使用 JRebel 不断将更改推送到 Java 应用程序容器。

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

    一般来说,SBT 是您应该用于 Scala 的 make/ant/maven 替代品。我一直对它简化开发的方式印象深刻,当我回到 Java/Maven(甚至使用 JRebel)时,我很怀念它。无论您发现哪些其他工具和框架有用,您都应该使用它。

    希望有帮助:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-12-16
      • 2023-04-07
      • 1970-01-01
      • 1970-01-01
      • 2011-12-10
      • 2013-12-06
      • 2014-12-25
      相关资源
      最近更新 更多