Does SBT Avoid JRebel?

My goal is to reduce the build time of Scala. I am using Intellij IDEA 10 with Scala 2.8.1-RC1.

I read that using SBT will reduce compilation time because it is smart to rebuild only files / classes that have changed since the last build.

I understand that JRebel has a very similar goal. Does it make sense to use JRebel instead or in addition to SBT?

+4
source share
2 answers

They do different things. SBT has a pretty fast continuous incremental build system. JRebel dynamically reloads classes into a running program as they are rebuilt. This is a bit of a Java debugger feature for modifying a running program, but with much less annoying restrictions. SBT and JRebel are complementary.

+18
source

You can also say that SBT bypasses Hudson or other CI tools. Or that it eliminates the red squiggly lines created by your IDE when you enter code that will not compile. But these tools are still useful even with SBT, and SBT offers many great features beyond CI and hot deployment.

This eliminates Maven.

SBT overlaps with JRebel for me a bit - for example, when I use SBT to continuously compile and redeploy a web application to the pier (~ prepare-webapp). This is very similar to using JRebel to continuously modify changes in the Java application container.

It offers "continuous integration of the poor" with quick detection and testing of code changes: http://devblog.point2.com/2009/07/27/scala-continuous-testing-with-sbt/

In general, SBT is the make / ant / maven replacement you should use for Scala. I am constantly impressed with how it simplifies development, and I miss him when I return to Java / Maven (even with JRebel). You should use it no matter what other tools and frameworks you find useful.

Hope that helps :)

+5
source

Source: https://habr.com/ru/post/1333235/


All Articles