JRebel/Liferay Integration Project

A Liferay Community project to develop a plugin for JRebel, to enable realtime code changes without redeploy into Liferay.

What is the JRebel/Liferay Integration Project?

This project is aimed to develop a plugin for JRebel with the following goals:

  • Full support of Liferay theme framework (allow the user to edit all static files in the IDE)
  • Full support of Liferay hook framework (allow any changes in any type of hook to be automatically reflected in the portal)
  • Full support of instance changes made in plugin descriptors (portlet.xml,liferay-hook.xml...)

JRebel maps your project workspace directly to the application under development. When you change any class or resource in your IDE, the change is immediately reflected in the application, skipping the build and redeploy phases. This is very useful for Liferay Developers, who spend a lot of time waiting on their systems to compile, deploy, and re-initialize many components during a development session.  See Jan's blog for more details.

You can use JRebel right now for standard portlet development. This style of basic integration is no problem. The reason why this project exists is that JRebel does not 100% work with Liferay's class loading and other JVM-level behaviors.  It works for most of the use cases with Liferay, but not all.  Therefore, this project seems to add hook/theme frameworks and resolve some other issues. 

Visit the Developer Corner to learn how to obtain and use the plugin, and how to build it and contribute to this project.

Project Leads

The JRebel/Liferay integration project began with initiative of Mimacom & Zeroturnaround and is now extending to the entire Liferay Community. Let us know how you'd like to contribute.