Imagine a bacon-wrapped Ferrari. Still not better than our free technical reports.

Using JRebel with Liferay – Neil Griffin’s Approach

As a simple marketing droid, I was a bit intrigued to find out that JRebel has some out-of-the-box support for Liferay. I wonder if JRebel would work with my microwave…

If you look for official info in our documentation about JRebel supporting Liferay, you will not find it yet; we are working towards getting this more formalized in future JRebel releases. However, Neil Griffin unsolicitedly published this excellent post about using Liferay with JRebel, Lightning Fast Portlet Development with JRebel, on the Liferay blog – the full URL is here:

I would love to hear from Liferay fans about using JRebel. If you write some comments below or share your JRebel + Liferay experiences @jrebel, you could be randomly selected to win a free JRebel license. Who doesn’t like free stuff?


  • Petros Giakouvakis

    I have succesfully integrated Liferay with JRebel and this works like a charm for the presentation classes of portlets and jsp’s. When changing the contents configuration files such as the portlet.xml and the liferay-portlet.xml however I noticed that a redeploy remains necessary. Should such configuration files also be reloaded normally or is this expected behaviour?

  • David

    We have a highly customized instance of LifeRay 5. I was able to get JRebel working in the *-ext jars by adding the following to the classpath–>dir element in the jars rebel.xml:

    Hope this helps someone!

  • Yeah, reloading portlet.xml or web.xml changes still requires some additional integration. How often do you have to change portlet.xml when the application is running and restart because of that?

  • Hi everybody,

    Great to hear some feedback from people using JRebel with Liferay. This year we have started an official community project focused on the Liferay integration, which you can find here : Please feel free to post there your problems/questions / feature requests.


  • In case of Liferay, is there a way in rebel.xml to limit a scope of observed classes to specified package ieg. to set scope to com.liferay.portlet.layoutsadmin.*
    Now I can target compiler to put compiled code to specific directories and then limit jrebel via directories. It is OK, but in case of liferay sometime even one folder can contain bunch of classes that wont be target of changes.

  • rterwedo

    What about in a clustered environment? tried this?

    Great stuff!!

  • Sergi

    I tried JRebel on Liferay developing JSF Portlets and it causes many troubles. For instance, using view scoped beans, in the same view page if you call different actionListeners, the bean is instantiated each time, like using a request scoped bean…

  • Adam Koblentz

    Please email, we’ll be happy to look at it.