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:
- Go to
File>Settings>Debugger>HotSwap. - 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:
- In IntelliJ IDEA, go to
Run>Edit Configurations. - Add a new
Remoteconfiguration. - 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.