javarebelOne of the things that I have come to really appreciate about the .NET platform, coming from a Java background, is the increased productivity you get with such an integrated IDE and the runtime – no need to archive up artefacts and deploy to a container (in the Java sense that is, I know .NET has assemblies).  The ‘feed-back loop’ is greatly reduced and by this I mean the amount of time between making a change in code and seeing the results in the execution of your application on the screen.  

I know there are a number of tricks you can do with Java and various containers with exploded WARs and improved “Hot deployments” but I was blown away when recently discovering JavaRebel from Zeroturnaround.  How I wished I had this neat little JVM plugin when I was developing production code in Java – now, it’s saving me time with some home grown projects – just to keep my finger in Java (so to speak).

Without going into all the details – as it’s better explained on the Zero turnaround site this is all that is required to add the plugin to the JVM:

-noverify -javaagent:/path/to/javarebel/lib/javarebel.jar -Drebel.dirs=/paths/to/class/folders/bin

As I am running with the Springframework I also had to add:

-Drebel.spring_plugin=true

See Integrating JavaRebel with Spring

There are a number of other ways to integrate and a few extras such as a Maven plugin – just to make things even easier!