

After hours digging around and trying different ways of using the new VM, I managed to make it work without having to build my own installer. If all is fine, skip all the way to step 4 below.
Jrebel version update#
Update May 10 2014: Great news: there is a new DCEVM fork and the binary installers for JDK/JRE 1.7 are now available, thanks to Ivan Dubrov (more details in the comment section).

Jrebel version how to#
IDE specific instructions can be found here: If all is well yo u can ignore the rest of this article, hurrahhh! The key is how to set it up, because unfortunately, the project website hasn't been updated and the binary setup hosted there doesn't work with JDK/JRE 1.7 (if it works for you anyhow or if you can build the binary yourself, congrats you can skip the steps 1-3 below). Check out if you h aven't, there you should find everything you need to get started. Update June 201 6: D CEVM seems to be going strong, the fork I mentioned before has been well maintained, J RE 1.8 support has been added and now there is even support for f ram ework configuration files hot-swapping, which effectively bring D CEVM closer than ever to JR e bel in terms of feature set. I haven't tried them all, but it looks like DCEVM is the most advanced one and yet requires minimal configurations. But if not, don't worry, there are free alternatives out there ( DCEVM, FakeReplace, Spring-loaded.). If you work for a company that buys you a commercial hot-swap solution, like JRebel, you're lucky because usually they work out of the box and offer more functionalities. All other changes (method signature, class members, etc) will require reloading the whole application. Only method body changes can be hot-replaced. This is because class hot-swapping in the JVM is severely limited.

Other IDEs even require you to restart the server. With Tomcat and Eclipse for example, when you make just a small change in your Java class, it still takes at least a few seconds for the change to be reflected because the whole web app will need to be reloaded. Those of you who work with web application development on a daily basis know very well that application reloading or server restarting is annoying.
