IntelliJ IDEA

The JRebel plugin for IntelliJ IDEA includes the JRebel agent and helps you to automatically generate the JRebel configuration. It enables JRebel for applications and servers with a single click and improves the debugging support in the IDE.


Installation

Install from plugin repositories

To install the JRebel Plugin for IntelliJ IDEA via IntelliJ repositories, follow these steps:

  1. Open the IntelliJ IDEA Settings... dialog.
../_images/intellij-plugins-repository.png
  1. Select Plugins from the sections menu. Press Browse plugin repositories... and locate the JRebel plugin.
../_images/intellij-plugins-repository-list.png
  1. Press Install plugin to download and install the JRebel plugin for IntelliJ IDEA.
  2. IntelliJ might warn you that JRebel plugin depends on WebSphere and WebLogic plugins that might be disabled or not available in case of IntelliJ IDEA Community Edition. This is totally fine –- these dependencies are optional and you can either accept or decline the enabling of the corresponding plugins.
  3. IntelliJ will ask you to restart in order to complete the plugin installation. Make it so.

Install from ZIP archive

The plugin can be acquired also as a ZIP archive. All the released versions of the plugin are hosted at http://plugins.jetbrains.com/plugin/?id=4441.

To install the plugin from the ZIP archive, follow these steps:

  1. Download the latest version of the plugin from http://plugins.jetbrains.com/plugin/?id=4441.
  2. Once downloaded, open the IntelliJ IDEA Settings... dialog. Select Plugins from the sections menu. Press Install plugin from disk... to locate the plugin.
../_images/intellij-install-plugin-from-disk.png
  1. Browse to the location of the downloaded ZIP archive.
  2. Press OK to confirm the installation. The IDE will ask you to restart in order to complete the plugin installation. Restart your IDE.

Activation

After restarting IntelliJ you most likely won’t have a license yet. The plugin will notify you about this sad fact. This happens via a popup notification:

../_images/intellij-no-license-popup.png

Click the Activate link in this popup. The JRebel license activation dialog will open.

If you do not have a license yet, click the Apply for the license at JRebel website link to apply for an evaluation license. Fill out the form on the website and you will receive a license code. Paste this into the text field of the JRebel Activation dialog. This license lasts for 14 days from activation.

../_images/intellij-activation-code.png

If you purchased the license and received the license file (jrebel.lic), save it to a location of your choice. Specify that location under Choose license file from the disk:

../_images/intellij-activation-file.png

The last option is to register the license server access token URL. This is used in case the JRebel licenses are hosted by a corporate license server.

../_images/intellij-activation-license-server.png

Note

These settings are kept in the ${user.home}/.jrebel/jrebel.properties file.


Project configuration

The only required configuration file is rebel.xml. This is used by JRebel to map the running application to the workspace. The good news is that IDE plugin can automate this configuration for you.

Right-click on the project node in the Project View and select JRebel > rebel.xml.

../_images/intellij-generate-rebel-xml-full.png

A dedicated configuration file should be generated for every module in the project. For more information please see the “Application configuration” chapter.

From this context menu you can also open the module configuration settings. To do this, right-click the desired module and select JRebel > Configure module.

Note

  • IntelliJ IDEA does not compile classes on save by default. Press Ctrl+F9 to compile classes.
  • Once you have generated rebel.xml, you need to redeploy your application to the server for the configuration to take effect.

If you would like to make modifications to the configuration file, please see the full reference for rebel.xml file format.

Note that when using either Maven or Gradle for your project, you might consider using the respective plugin for generating rebel.xml (and not the IDE plugin). For more information, please refer to either Maven plugin or Gradle plugin.


Tool window

The JRebel tool window provides an overview of JRebel configurations for the active project. This tool window displays a flat list of modules of the project. From here it is possible to quickly enable JRebel configuration for a particular module.

../_images/intellij-jrebel-tool-window.png

By clicking a checkbox next to the module name you will generate the rebel.xml configuration file that will be placed into the source tree of the project. For Maven projects it will be placed into src/main/resources so that it will be picked up automatically during the build.

Note

Please note that rebel.xml should be deployed to the application container with the application.

The tool window also provides access to the related artifacts with a few shortcuts:

  • To generate/delete rebel.xml configuration for selected module, press Space.
  • To open the JRebel facet of a module, press Enter (or double-click).
  • To open the generated rebel.xml of a module, press F4.

Server configuration

The JRebel plugin for IntelliJ IDEA includes dedicated launch buttons. These buttons are located on the main toolbar and on the navigation toolbar by default.

../_images/intellij-jrebel-launch-buttons.png

The first button launches the container with JRebel. The second button launches the container with JRebel in debug mode.

By launching the process from one of these buttons, the JRebel plugin will automatically add the appropriate command line parameters.


Disable automatic application deployment

Open the Run/Debug Configuration for the corresponding application server via Run > Edit Configurations. On the Server tab, set On frame deactivation to Do nothing.

../_images/intellij-rundebugconf.png

Now you can use the Run with JRebel and Debug with JRebel launch buttons to start the selected configuration with JRebel.


External servers

When launching the application server from a command line, refer to the “Running the container from command line” chapter to find relevant configuration examples.