Developing Bloomreach Content with JRebel and IntelliJ

This page describes how to use JRebel with IntelliJ IDEA when developing Bloomreach Content. JRebel enables class reloading without recompiling, which streamlines development and plugin work. This guide assumes you have already cloned the Bloomreach Content source code.

Note:
This documentation covers integration with a third-party tool. Bloomreach maintains this content on a best-effort basis and does not guarantee alignment with the latest JRebel or IntelliJ releases. For up-to-date installation and configuration steps, refer to the official documentation for JRebel and IntelliJ IDEA.

Enable JRebel

Run the following Maven command once for the entire project:

mvn -Djrebel -DskipTests clean install

This command generates a rebel.xml file in the target/classes directory for each module.

Optionally, install the JRebel Plugin for IntelliJ IDEA to enable JRebel integration in your IDE.

Disable IntelliJ HotSwap

To avoid conflicts with JRebel, disable IntelliJ's HotSwap feature:

  1. Go to File > Settings > Debugger > HotSwap.
  2. Set "Reload classes after compilation" to Never.

Start the CMS in Wicket Development Mode

To prevent Wicket from caching HTML and CSS files, start the CMS in Wicket development mode. Use the following command:

mvn -Pcargo.run -Djrebel -Dcargo.jvm.args='-Dwicket.configuration=development'

When Tomcat starts, you should see the following log message:

[INFO] [talledLocalContainer] ********************************************************************
[INFO] [talledLocalContainer] *** WARNING: Wicket is running in DEVELOPMENT mode.              ***
[INFO] [talledLocalContainer] ***                               ^^^^^^^^^^^                    ***
[INFO] [talledLocalContainer] *** Do NOT deploy to your live server(s) without changing this.  ***
[INFO] [talledLocalContainer] *** See Application#getConfigurationType() for more information. ***
[INFO] [talledLocalContainer] ********************************************************************

Configure Remote Debugging

To enable remote debugging:

  1. In IntelliJ IDEA, go to Run > Edit Configurations.
  2. Add a new Remote configuration.
  3. Set the port to 8000.

Debugging Multiple Projects in IntelliJ

For instructions on working with multiple projects in IntelliJ IDEA, refer to this Stack Overflow answer.

Share Feedback
Page: /build/development-tools/developing-brxm-with-jrebel-and-intellij
Section: Build
Category *