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

Reworked JRebel plugin for IntelliJ IDEA

After quite a bit of work we have released the new version of JRebel plugin for IntelliJ IDEA. In this blog post I’d like to provide an overview on what’s changed.

First of all, please note the new versioning scheme for the plugin. The plugin version is now changed to match the JRebel agent version. This means that the new version of the plugin will be 5.4.2 as it bundles the latest stable version of JRebel agent.

Due to the API incompatibilities between IntelliJ IDEA versions 12 and 13 we will actually ship two versions of the plugin: one for IDEA version 12 and one for version 13. However, the functionality is exactly the same for both versions of the plugin.

The UI changes

Most of the changes were made in the UI part of the plugin. There are some new components in the plugin, some of the UI elements were moved to some different location and some of the controls where removed for good. So let’s go over the screens and see what’s new.

Icons

First of all, if you used the plugin before, you will notice that the icons are different. Our old icons didn’t match very well with the current IntelliJ IDEA flat icons, so we decided that it is a good time to update.

JRebel tool window

The new JRebel tool window has been introduced. The tool window purpose is to provide better overview of the project and simplify access to JRebel configuration. In addition, the tool window will be a great help to those users who leverage Remoting functionality.

Activation dialog

License activation screen is now moved out from Settings into a dedicated dialog. It can be accessed either from JRebel overview tab or via Help menu.

To activate certain type of the license the user has to explicitly select the preferred option. This way, it is now possible to understand, which license is currently active.

JRebel Settings

You will also notice a few changes in the plugin settings screens. The overview settings screen now shows license information, statistics settings and settings related to reporting and notifications.

The new tab for offline mode will be useful for those users whose licenses are hosted by the license server. If the license server is configured, then it is possible to reserve an offline license token for a predefined period of time.

Logging settings and agent path selection are moved now into the Advanced view.

JRebel module facet

JRebel module facet is mostly useful for setting up Remoting configuration.

By using the facet, the user can specify the target URL for JRebel Remoting. The facet also provides some additional configuration options – for instance, if the synchronization should be performed either automatically or on demand, or if the connection should be encrypted.

To configure Remoting functionality, JRebel has to be “enabled” for the specific module. It actually means that the rebel.xml configuration has been generated for the specific module. If you try to “disable” JRebel for the module, it will also try to clean up all the configuration artifacts.

More to come

The plugin was reworked a lot, but we would definitely like to improve it even more! More features will be added in the upcoming releases to make the plugin even more convenient to use. Give it a try and provide your feedback!

  • Sascha Kleiber

    Hi,

    I have a quite annoying problem here: In a project we use subfolders in /resources. Problem is, the Plugin doesn’t seem to recognize a rebel.xml in such a subfolder (and check the module in the jRebel Tool Window), but unfortunately the project’s configuration demands all resources being placed in subfolders, e.g. /resources/default/rebel.xml. Is there any way to change the plugins path to the rebel.xml-File?

  • arhan

    JRebel doesn’t pick up rebel.xml from the IDE project, but it is picked from the deployed application at runtime and it has to be in WEB-INF/classes for the web archive and in the root of the archive if it is a JAR file. You can generate rebel.xml into the subfolders and ignore the checkbox in the Tool Window as the checkbox only generates rebel.xml or deletes it.