To enable JRebel remote server support, you'll first need to configure the server itself with a JRebel agent and a corresponding launch parameter. Start by navigating to the main menu in the top left of IntelliJ. Go to Help, hover over JRebel, and click Configuration. From there, open the dropdown menu, select JRebel Startup, and choose the option Run on a remote server or VM.
Next, you’ll be prompted to select your server configuration from a dropdown menu. In this example, we’re using Tomcat 10.1.13. Simply follow the on-screen instructions to complete the setup. Once everything is in place, how can you confirm it's working? While running Tomcat, look for the JRebel banner in the server logs. If you see it appear, that’s your confirmation that JRebel is active and properly connected.
The second step is to add the remote server to your IntelliJ IDE. Again, head to Help > JRebel > Configuration, then open the dropdown and select JRebel Remote Servers. In this view, click the plus (+) button to add a new remote server configuration. You’ll be able to assign a clear, recognizable name for the server—this will be referenced in other JRebel dialogs.
For the Server URL, provide the full address of your remote server. In this example, the server is named “resource” and points to localhost:8090. JRebel also allows you to configure additional security options: for example, you can enable server authentication for secure synchronization or HTTP basic authentication if your server requires credentials. Once all fields are set, click Test Connection in the bottom-left corner. A blue message confirming “Connection successful” means everything is in order. Click OK to save your new remote server configuration.
At this point, your server can be used by all modules within your IntelliJ project. You can even manage multiple remote servers simultaneously. If you want to exclude a server from sync, just deselect it in the Remote Servers view by unchecking its box. At the bottom of this configuration screen, make sure to enable Synchronize on Build to automatically push changes to your remote servers when compiling.
Now it's time to configure individual modules for remote server support. Open the JRebel Tool Window, which you’ll find via View > Tool Windows > JRebel or in the vertical navigation bar on the left. In the tool window’s right-hand column, you’ll see checkboxes that let you enable or disable remote support for each module. Select the checkbox for the module(s) you want—like “release-notes-search-engine” in this example. This action will create a rebel-remote.xml file alongside the standard rebel.xml.
Once your configuration is in place, build and redeploy your application to the remote server. You can trigger a full rebuild via Build > Rebuild Project or by pressing Ctrl + Shift + F9. To finalize, sync with the remote server. At the top-right corner, click the Synchronize button. If everything is working correctly, you'll see a notification in the bottom-right corner that reads: JRebel synchronization complete.