JRebel for IntelliJ

Compatible with IntelliJ IDEA
1 620 642

JRebel is a productivity tool that allows developers to reload code changes instantly. It skips the rebuild, restart, and redeploy cycle common in Java development. JRebel enables developers to get more done in the same amount of time and stay in the flow while coding. JRebel supports a majority of real-world enterprise java stacks and is easy to install into existing development environments.

Download plugin

Recent change notes


  • Improvement: redesigned License Server error notifications and added console logging. Error messages now include information on problem root cause.
  • Improvement: decreased obtrusiveness of license expiry notification.
  • Improvement: improved embedded startup instructions for Spring Boot bootRun.
  • Improvement: implemented select/unselect all in JRebel Panel.
  • Bug fix: fixed JRebel reactivation for cases where previous License Server group was no longer valid.
  • Bug fix: fixed read timeout during remote server synchronization in certain cases.
  • Bug fix: fixed symlink handling in rebel.xml when using remote server support.


  • Updated embedded JRebel agent to 7.0.12.


  • Bug fix: paths with backslashes in remote server support are now properly resolved on Windows.
  • Bug fix: removed duplicated modules from the JRebel Panel after importing a Gradle project.


  • Feature: added a warning notification letting the user know that their License Server offline seat is about to expire within 24 hours.
  • Improvement: added retrying for License Server calls that fail with network issues.
  • Bug fix: fixed issues with the rebel.xml generation path for Gradle projects.
  • Bug fix: fixed an issue where remote synchronization with a HTTP proxy configured in the IDE did not use the proxy configuration properly.
  • Bug fix: added the correct argument for embedded remote standalone instructions in the JRebel Startup panel.
  • Bug fix: fixed rebel.xml not being included into JAR/WAR for Gradle projects when the resources folder does not exist.


  • Feature: added the option to upgrade the JRebel IDE plugin from a nightly build to the latest release from Help > JRebel > Configuration > Advanced.
  • Improvement: the notification for updating remote servers has been removed.
  • Bug fix: fixed an issue with disabling JRebel throwing an exception in IntelliJ 2017 when rebel.xml file is open.
  • Bug fix: IDE plugins no longer incorrectly timeout when connecting to the License Server.
  • Bug fix: JRebel plugin now uses IDE proxy settings when submitting support tickets.
  • Bug fix: JRebel plugin now correctly submits support tickets when the IDE is running JDK 6 or JDK 7.


  • Feature: added the option to automatically download and switch to latest JRebel agent nightly build via Help > JRebel > Configuration > Advanced.
  • Improvement: warn user when an external jrebel.jar is missing from the IDE plugin.
  • Improvement: remote server support module settings will show a tooltip about adding or selecting workspace servers when none are available.
  • Bug fix: disabling rebel.xml and rebel-remote.xml backup feature on projects with colliding metadata directories.
  • Bug fix: reduced the number of requests made to License Server by the JRebel IDE plugins in order to get a license.


  • Improvement: updated the End User License Agreement to version 3.8.
  • Bug fix: fixed an exception in IntelliJ IDEA 2017.1 caused by enabling JRebel from context drop down menu.
  • Bug fix: fixed an exception in IntelliJ IDEA 2017.1 caused by activating JRebel from confirmation dialog while running an application with JRebel.
  • Bug fix: fixed activation issues with License Server 3.2.1 and older.
  • Bug fix: fixed an issue where some resources were not synchronized during a manual synchronization following rebel.xml changes.


  • Improvement: better performance upon opening Weblogic run configuration.
  • Bug fix: fixed a StackOverflowError when parsing JRebel Command Line startup instructions.
  • Bug fix: fixed a SSLPeerUnverifiedException when connecting to License Server using self signed certificate.


  • Improvement: JRebel activation prompt is no longer hidden behind project window during server launch.
  • Bug fix: the synchronize button state on JRebel Panel is no longer shared across projects in multiple windows.


  • Improvement: removed unused help buttons introduced in IntelliJ IDEA 2017 for some dialogs.
  • Bug fix: issue with remote server support not synchronizing for multimodule Gradle projects.


  • Improvement: End User License Agreement has been updated to version 3.7.
  • Improvement: added support for hiding "New stable version available" and "New version available" notifications.
  • Improvement: full paths of remotely synchronized directories are now written to log file.
  • Improvement: the Plugins tab has been removed from JRebel Configuration.
  • Improvement: rebel.xml files now contain a bit of helpful documentation explaining their purpose.
  • Improvement: renamed "JRebel Modules" to "JRebel Panel".
  • Improvement: removed the "open rebel.xml" button from JRebel panel.
  • Improvement: revised the "Submit a Support Ticket" dialog validation and error messages.
  • Improvement: remote synchronizations are now included when calculating the time saved statistics.
  • Bug fix: the flag 'rebel.temp.dir' is now correctly used to store remotely uploaded files.
  • Bug fix: removed the "Incoming network connection" popup in macOS when starting IDE with JRebel plugin enabled.
  • Bug fix: fixed an issue with "When a file is not found in IDE workspace" checkbox state persistence over IDE restart.
  • Bug fix: the debugger now attaches to the correct Grails process in IntelliJ IDEA 2016.3 and newer.
  • Bug fix: fixed an issue with bootclasspath generation for Legacy Agent.
  • Bug fix: fixed an issue generating rebel.xml in Gradle projects.
  • Bug fix: fixed the JRebel run icon on HDPI screens with dark theme to use a higher quality icon.


  • Feature: added support for omitting recurring IDE notifications. Omitting settings can be reset via JRebel Configuration.
  • Improvement: added JRebel icons to remote server support related IDE notifications.
  • Improvement: replaced some IDE notifications with JRebel Console log messages.
  • Improvement: improved "trial ended" notification message.
  • Improvement: improved remote server support description in settings.
  • Bug fix: reverted interpretation of ${rebel.workspace.path} to how it was before 7.0.1.
  • Bug fix: plugin now correctly backs up the latest version of rebel.xml if the file has recently been edited in IntelliJ.
  • Bug fix: fixed an issue with JRebel Debug run configuration not using the JDWP port defined by the user.
  • Bug fix: fixed an exception on remote server synchronization when proxy password was not set.
  • Bug fix: fixed rebel-remote.xml getting reset while updating project's remote server settings.
  • Bug fix: big amount of modules (over 200) introduces lag on scrolling JRebel Panel.


  • Feature: implemented the new detailed remote server configuration for individual projects.
  • Improvement: revised the error messages displayed in the activation dialog.
  • Improvement: revised notifications text and triggers to reduce overall notifications.
  • Improvement: removed the option for "notify me if JRebel was unable to reload something" from JRebel configuration > Advanced.
  • Improvement: show notification about first rebel.xml errors/warning once per IDE session.
  • Bug fix: standalone instructions have been restored in the IDE embedded startup instructions.
  • Bug fix: the proxy option for "no proxy for" now works correctly with multiple entries.
  • Bug fix: fields in the trial activation panel no longer shift when text is entered.
  • Bug Fix: JRebel agent log levels have been added to JRebel configuration > Advanced.


Upgrading to JRebel 7 from an older version? Refer to https://zeroturnaround.com/software/jrebel/jrebel7-agent-upgrade for the upgrade notes.

  • Feature: JRebel Agent is now the default agent implementation. IDE embedded startup instructions are updated to reflect this.
  • Improvement: specifying an email is now required for new License Server floating license activations.
  • Improvement: support for License Server failover instance has been removed.
  • Bug fix: the Java version lookup for WebSphere Liberty Profile has been improved to check configuration files in order to select correct JRebel native agent.
  • Bug fix: fixed issue where licensing calls ignored the "No proxy for" field value set in IntelliJ proxy settings.


  • Feature: added a general JRebel Console to show JRebel related messages.
  • Improvement: rebel.xml warnings are now shown in the JRebel Console instead of UI notifications.
  • Improvement: the Miscellaneous section has been moved to the Advanced tab on JRebel Configuration.
  • Improvement: End User License Agreement has been updated to version 3.6.
  • Bug fix: applications no longer fail to start when nonProxyHosts contains spaces.


  • Improvement: IDE notifications in IntelliJ 2016.2 are now fully expanded by default.
  • Improvement: JRebel remote servers log tab is now opened automatically on first synchronization.
  • Bug fix: fixed an issue where a misleading expiration date was shown in license information panel when using a License Server license.
  • Bug fix: fixed an issue where attempting to renew an offline License Server seat threw an exception.
  • Bug fix: fixed an issue where IntelliJ 2016.3 EAP failed to start up after a JRebel plugin installation.


  • Improvement: added the "never show again" option for the NPS notification.
  • Improvement: the IDE log level option has been removed from JRebel Configuration.
  • Improvement: the remote server automatic migration notification title has been shortened.
  • Improvement: removed JRebel 6 Agent promotional notifications.
  • Bug fix: the debugger now correctly attaches to the correct Grails process on IntelliJ IDEA 2016 and newer.
  • Bug fix: fixed NPS notification readability when using customized fonts.
  • Bug fix: auto-generated scripts in Startup instructions now correctly use Legacy Agent path.


  • Improved the timing for showing IDE support dialog introductory notification.
  • Fixed trial activation form validation UI inconsistencies.
  • Fixed an issue where remote server synchronization was reported as a success even though a file upload had failed.


  • Fixed an issue where IntelliJ added javaagent parameter twice with debug run configuration.
  • Fixed IntelliJ's API compatibility problem related to IDE proxy settings
  • Fixed an issue where native notifications were hidden behind Net Promoter Score notification in IntelliJ 2016.2.
  • Fixed a NPE when enabling JRebel for newly created Gradle projects.


  • Improved the error messages in the remote server synchronization log.
  • Changed the JRebel agent default log level from off to info.
  • Added an on-boarding notification for the embedded JRebel support dialog.
  • Improved the UI for License Server offline seat management.
  • Decreased the display time for XRebel notifications.
  • Decreased the display time for remote server notifications.
  • Fixed an issue where the remote server was reported as running with an out of date JRebel agent.
  • Fixed an issue where the Net Promoter Score IDE notification was excessively shown.
  • Fixed an issue in IntelliJ IDEA 15 and 16 where content was misaligned in Net Promoter Score notifications.


  • Implemented the Net Promoter Score survey.
  • Improved remote server setup instructions with the JRebel download URL.
  • Improved the JRebel support dialog usability and messages.
  • Improved License Server activation error messages.
  • Added a UI button to test remote server connectivity when adding/editing a JRebel remote server.
  • Fixed an issue in the activation dialog where the email validator had problems with long invalid emails.
  • Fixed an issue concerning support dialog form window sizes.
  • Fixed an issue with warnings when the project is started with JRebel, but without rebel.xml file.


  • Improved the JRebel Support dialog usability and messages.
  • Added support for multiline error messages in the activation dialog.
  • Fixed an issue where files deleted and re-created with identical hashes were not uploaded to a remote server.


  • Added an embedded support dialog for sending logs and feedback directly to the support team.
  • Added the generated-by attribute to rebel.xml.
  • Improved: warn user when adding localhost as a JRebel remote server.
  • Fixed an issue where log rolling would throttle remote synchronizations.
  • Fixed an issue where the JRebel plugin would not provide sufficient info to the user when JRebel home was not writable.
  • Fixed the issue where JRebel failed to connect to the License Server after a long sleep or hibernation.


  • Added support for backing up and restoring rebel.xml and rebel-remote.xml files.
  • Added an IDE notification to inform when a new JRebel version is made available.
  • Improved the remote server support performance when working with multiple servers and projects.
  • Improved the messages in the Run with CLI panel within JRebel Configuration.
  • Fixed an issue where the remote server checkbox was not deselected in JRebel panel when JRebel was disabled from the module settings.
  • Fixed an issue where JRebel plugin created rebel.xml in the incorrect source folder.


  • Added an IDE notification informing about duplicate project IDs on a remote server.
  • Fixed an issue where generating rebel.xml broke upon web facet defining a missing webroot.
  • Fixed an issue where the same achievement notifications were shown multiple times.
  • Fixed an issue where the IDE would jump to breakpoints only for the active debug sessions on IntelliJ IDEA 16 EAP.
  • Removed JRebel-related launchers from Gradle run configurations.
  • Improved the error message shown when jrebel.properties is read-only during license activation.
  • Fixed an issue with automatic synchronization for remote server support on Linux after folder deletion.
  • Fixed an issue where activating with a managed license locally gave an incorrect error message.


  • Introduced a common configuration property for setting the IDE log level.
  • Fixed an issue with duplicate directories in rebel.xml causing remote console noise during synchronization.
  • Fixed an issue related to email verification.
  • Fixed a rare NPE when remote server support's sync-on-build mode was enabled.
  • Fixed an issue where the remote server console was closed by various IntelliJ IDEA events.
  • Fixed an issue where the activation window got stretched out.


  • Removed UI error notifications for projects not found on remote server on synchronization.
  • Improved remote server support, allowing changes to files outside of project main folders.
  • Added support for custom variables in rebel.xml with remote server support.
  • Improved the sending of JRebel remote usage statistics to the License Server.
  • Improved port calculation for notifications from JRebel to IDEs.
  • Fixed an issue where the "Get started with JRebel" notification would not appear.
  • Fixed an issue where users could not activate with the jrebel.lic license file in its default location.
  • Fixed an issue where myJRebel users would see their license expiry date as the very next day.
  • Fixed an issue where "Synchronize on build" would not work without triggering at least one manual synchronization first.
  • Fixed an issue with JRebel remote support where hidden project metadata files were sent to remote server unnecessarily and caused slowness.
  • Fixed an issue with remote server support where multiple concurrent transactions were sent to the same server when using different context paths.
  • Fixed an issue where JRebel and Project panels closed after making a change to Project Settings.
  • Added the WebSphere Liberty Profile setup instructions to the Startup tab.
  • Fixed an issue where the Startup/Connection tab would appear in the regular application run configuration.
  • Fixed an issue where the JRebel Panel would show a text cursor when using Windows.
  • Fixed an issue where jrebel-bootstrap.jar was generated with the wrong JDK.
  • Fixed an issue where licensing status updates would end up in a wrong tab in the JRebel activation dialog.


  • Added a central remote servers configuration UI and updated JRebel project settings to use central remote servers.
  • Added a new remote server log console.
  • Added support for running JAR applications with JRebel enabled.
  • The remote server synchronization notifications have been revised.
  • Performing a remote server synchronization with multiple applications or servers now displays a single consolidated notification.
  • The "Scan all modules" feature has been moved behind a JVM flag.
  • Introduced IDE log file rotation.
  • Fixed an issue where enabling "Synchronize on build" triggers unnecessary synchronization events.
  • Fixed an issue where enabling "Synchronize on build" triggers unnecessary synchronization events.
  • Fixed an issue where the "Synchronize on build" notifications are too frequent.
  • Fixed an issue where simultaneous synchronization events for the same project could occur.
  • Fixed an issue where "Synchronize on build" checkbox does not work as expected.
  • Fixed inconsistent alignment on the About page.
  • Fixed an issue where license path for jrebel.lic is not correctly pre-filled in the activation dialog.


  • Removed a duplicate configuration button from IntelliJ IDEA's JRebel panel.
  • JRebel now notifies the user when rebel.base path contains spaces or is not writable.
  • Fixed an issue where many notifications were displayed during remote server events.
  • Fixed an issue where module names appear in hashed format in logs for remote server events.


  • Added the debug level to the logging option for the IDE plugin.
  • Variables in rebel.xml are no longer ignored during remote server synchronization.
  • Improved the automatic synchronization for remote server support.
  • Fixed an issue where activation displayed a JSON string in the Offline tab.


  • Improved consistency of JRebel icon usage throughout the plugin UI.
  • Tooltips for various GUI elements have been revised and improved.


  • JRebel 6.2.6 drops support for IntelliJ IDEA versions 11 and 12.
  • Fixed an issue with buttons having incorrect link targets on the activation dialog after trial activation.
  • Fixed an issue with first name validation in the trial activation form.
  • Fixed a rare issue with IntelliJ IDEA freezing while querying JVM properties.


  • Introduced the new JRebel remote server security protocol.
  • Added WildFly 9.0 to the JRebel startup instructions.
  • Improved configuration option copies for remote server configuration.


  • Fixed a bug in IntelliJ where JRebel arguments were not added when debugging a standalone app with JRebel in IntelliJ EAP 15.
  • Fixed a bug causing excessive verbosity in jrebel-licensing.log.
  • Fixed a bug wherein opening the activation dialog caused lagging.
  • Fixed a bug in JRebel for IntelliJ where the "No proxy" field was ignored when getting proxy information for remote server support.
  • Fixed a bug in IntelliJ where incorrect icon colors were used with the Darcula theme.


  • Unified product name and messaging across IDE plugins.
  • Unified JRebel license information rendering across IDE plugins.
  • Added the "About" tab.
  • Fixed an issue where very short paths throw errors on remote server synchronization.
  • Fixed an issue where remote user error messages were not informative enough.


  • Added a dedicated licensing log file (jrebel-licensing.log) within the .jrebel folder.
  • Fixed an issue on Windows with CLI startup instructions where REBEL_BASE with quotes was resolved as an incorrect path.
  • Fixed an issue where JRebel activation failed when using Android Studio.
  • Fixed an issue where enabling the remote server support for a project caused rebel.xml to be overwritten.
  • Fixed an issue where the plugin generated an incorrect rebel.xml file for Gradle projects.


  • Removed external server configuration from the options menu.
  • Improved the design of the JRebel modules panel.
  • Fixed an issue with Tomcat 6 server CLI instructions when using Linux or Mac OS.
  • Fixed word wrapping for multi-line messages in the JRebel activation dialog (trial tab).
  • Fixed an issue causing managed license lease to not last as long as it should.


  • The behavior of deleting missing files from a remote server is now consistent across IDEs.
  • Added HTTP Basic authentication compatibility to JRebel remote server support.
  • Duplicate files are now handled in a single transaction within JRebel remote server support.
  • Fixed the duplicated error messages reported by the JRebel remote server support.
  • Fixed the Getting started notification disappearing too quickly.
  • Fixed the false positive errors reported by JRebel remote server support while attempting to delete folders.
  • Fixed an issue with the debugger where adding a break point would fail.
  • Fixed an issue where the remote debugger did not get detached once the VM was stopped.
  • Fixed minor GUI issues in the Startup configuration tab.
  • Fixed an issue where it was impossible to activate after an offline lease had expired.


  • Added the JRebel Startup tab to JRebel Configuration. Added setup instructions for three startup scenarios: IDE, CLI and Remote server.
  • Moved the JRebel menu to the top-most level in IDE settings.
  • Improved the JRebel remote server support to respect the order of rebel.xml entries when dealing with duplicated files in multiple monitored locations.
  • Fixed an NPE log that occurred during JRebel plugin startup.
  • Fixed a warning message displayed when submitting the IDE signup for Chrome users on Linux.
  • Various GUI label fixes.
  • Fixed the alignment in the license status area when displaying a long error message.


  • Improved the installation process for cloned environments. InstallationGUID is now generated during JRebel activation.
  • Fixed an issue where new users could see a notification that JRebel has saved them 0 hours.
  • Fixed the behavior when parsing a corrupted jrebel.properties file. This now falls back to the default configuration.
  • Fixed some GUI labels (myJRebel, offline seats).
  • Fixed the wrong exception shown in IDE when SIGNATURE_INVALID is detected in remote server.


  • Added support for preventing reactivation while having an offline lease from License Server.
  • Fixed an issue with incorrect activation window tab titles when activating with a trial license.
  • Fixed an issue where Tomcat does not start up as a service when rebel.base contains spaces.


  • Added support for launching Grails applications with JRebel


  • Added support for REBEL_BASE environment variable and "rebel.base" JVM argument to enable customisation of JRebel data directory
  • Improved error handling when reverting an offline seat from the License Server


  • Bugfixes


  • Improved JRebel license activation


  • Overhauled JRebel activation dialog