JRebel saves compile time. It "Instantly reload changes to Java classes" – that's the marketing talk anyway.

The theory is great. Anything has to be better than the randomness of Atlassian's FastDev or atlas-cli, right? If it's really worth the hype, I want to use it with the Atlassian SDK and speed up my development time. Here's a short tutorial for JIRA development. Scroll down to the video if you want a demo.

Getting up and running...

Here's my quick "how to" get up and running.
Get the jrebel.jar and save it somewhere - like /opt/jrebel/jrebel.jar

Add the jvmArgs in the plugin to point at said file (and turn off fast dev)…


<plugin>
<groupId>com.atlassian.maven.plugins</groupId>
<artifactId>maven-jira-plugin</artifactId>
<version>${amps.version}</version>
<extensions>true</extensions>
<configuration>
<productVersion>${jira.version}</productVersion>
<productDataVersion>${jira.data.version}</productDataVersion>
<enableFastdev>false</enableFastdev>
<log4jProperties>src/main/extra/log4j.properties</log4jProperties>
<jvmArgs>-javaagent:/opt/jrebel/jrebel.jar</jvmArgs>
</configuration>
</plugin>

Add the jrebel-maven-plugin under build > plugins (see details of what does what here).


<plugin>
<groupId>org.zeroturnaround</groupId>
<artifactId>jrebel-maven-plugin</artifactId>
<version>1.1.5</version>
<configuration>
<addResourcesDirToRebelXml>true</addResourcesDirToRebelXml>
<alwaysGenerate>true</alwaysGenerate>
<showGenerated>true</showGenerated>
</configuration>
<executions>
<execution>
<id>generate-rebel-xml</id>
<phase>process-resources</phase>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
</plugin>

Run atlas-run or atlas-debug on the command line, checking for any errors.

In Intelli-J, enable automatic compiling on code change by checking Make project build automatically:

make

Change something in your code & reload the page.

All is automatically updated. Immediately. No more waiting for code compile changes.

Check this quick video demo:

https://www.youtube.com/watch?v=gG8ONumNsyA

The good news – it's pretty cool. The bad news – JRebel costs around $365 per seat per year. But think of all the time you save.