Kohei Nozaki's blog 

Evaluating JRebel for WildFly and IntelliJ IDEA

Posted on Wednesday Jan 21, 2015 at 10:41PM in Technology

I’m evaluating myJRebel which is free, for personal, non-commercial use only version of JRebel. it enables hot-deployment of classes. its quick start guide for IntelliJ IDEA is nice and easy to understand.

I used an example project which used in my past posting Exploded deployment for WildFly on development and Conditional inclusion of whole element for deployment descriptor with Maven for evaluate JRebel.

Installation is very easy. we can just follow the quick start guide. my recipe is as follows:

  1. Just find and install JRebel plugin from plugin installation window of IntelliJ IDEA

  2. After restart, enter your activation key (get yours from https://my.jrebel.com/) in Help ⇒ JRebel Activation window

  3. Add a definition of JRebel Maven Plugin. I prefer to put definition to a profile because sometimes I make my project public on GitHub or somewhere and not everyone can use JRebel

  4. Enable a profile named jrebel in Maven Projects window (make sure to check if /WEB-INF/classes/rebel.xml exists in the target directory after build)

  5. Launch your application server with a newly added Run with JRebel icon on upper-right. you would see some logging messages from JRebel in your console

After installation, I did some experiment that modifying a method of CDI managed bean which returns a constant string. it works fine, and pressing Command+F9 (Make Project) after modification is good so that JRebel can reflects changes immediately. also Update classes and resources On frame deactivation works fine but I felt some delay to reflect for about 1 or 2 seconds.

It works fine during the evaluation and it was very nice. it properly enabled server side Java development without deployment. I would apply it to my project.

Also I found a book named "Instant JRebel" (published on 2013). I haven’t read it but it might be good for beginners.

No one has commented yet.

Leave a Comment

HTML Syntax: NOT allowed