# Updating applications on application servers

> **TL;DR**
> Required plugins: [Jakarta EE: Application Servers](https://plugins.jetbrains.com/plugin/20203) (bundled) and a [server-specific plugin](application-servers-support.html)

If you need to modify your application's source code while it is running on an application server, restarting the server to apply each change is usually not a practical solution. To make it easier to review your changes, IntelliJ IDEA provides several [update policies](#application-server-update-policies) that let you control how much of your application gets reloaded when you trigger an update.

Procedure: Update a running application

You can trigger an update of your application only while its [application server run
configuration](creating-run-debug-configuration-for-application-server.html) is running, whether in regular mode or in debug mode.

1. Open the Update dialog in one of the following ways:

* Press `Ctrl+F10` (Windows), `⌘ F10` (macOS), `⌘ F10` (IntelliJ IDEA Classic (macOS)), `⌘ F10` (macOS System Shortcuts), `Ctrl+F10` (XWin), `Ctrl+F10` (GNOME), `Ctrl+F10` (KDE), `Ctrl+F10` (Emacs), `Ctrl+F10` (Sublime Text), `⌘ F10` (Sublime Text (macOS)), `Ctrl+F10` (NetBeans), `Ctrl+F10` (Visual Studio), `⌘ F10` (Visual Studio (macOS)), `Ctrl+F10` (Eclipse), `⌘ F10` (Eclipse (macOS)).

* In the main menu, go to `Run | Debugging Actions | Update application`.

* In the main toolbar's [run widget](guided-tour-around-the-user-interface.html#toolbar), click ![Rerun icon](https://resources.jetbrains.com/help/img/idea/2026.2/app.expui.run.rerun.svg) Rerun or ![Restart Debug icon](https://resources.jetbrains.com/help/img/idea/2026.2/app.expui.run.restartDebug.svg) Restart Debug.

* In the [Services](services-tool-window.html) tool window (`Alt+8` (Windows), `⌘ 8` (macOS), `⌘ 8` (IntelliJ IDEA Classic (macOS)), `⌘ 8` (macOS System Shortcuts), `Alt+8` (XWin), `Alt+8` (GNOME), `Alt+8` (KDE), `Alt+8` (Emacs), `Alt+8` (Sublime Text), `⌘ 8` (Sublime Text (macOS)), `Alt+8` (NetBeans), `Alt+8` (Visual Studio), `Alt+8` (Visual Studio (macOS)), `Alt+8` (Eclipse), `⌘ 8` (Eclipse (macOS))), click ![Update Application icon](https://resources.jetbrains.com/help/img/idea/2026.2/app.expui.javaee.updateRunningApplication.svg) Update application.

> **Note:**
> This dialog will not appear if the Show dialog option is cleared in your run configuration. For more information about this option, refer to [Set up default application update policies](#specify-application-server-update-policies).

2. In the dialog, select an [update policy](#application-server-update-policies) and click OK.

Procedure: Set up default application update policies

You can set up the default [update policies](#application-server-update-policies) for your application in its [application server run
configuration](creating-run-debug-configuration-for-application-server.html).

1. Open the Run/Debug Configurations dialog:

* In the main toolbar, click the [run widget](guided-tour-around-the-user-interface.html#toolbar) and select Edit Configurations….

* Alternatively, go to `Run | Edit Configurations…`.

2. On the left side of the dialog, select your application server run configuration.

3. On the right side of the dialog, configure the following fields:

* On 'Update' action: Select which update policy the IDE should run when you [trigger an application update](#update).

* Show dialog: * If you want the IDE to display a dialog with available update policies every time you trigger an update, select this option. * If you want to skip the dialog and automatically run the policy from the On 'Update' action field instead, clear this option. > **Note:** > Clearing this option does not affect the ![Rerun icon](https://resources.jetbrains.com/help/img/idea/2026.2/app.expui.run.rerun.svg) Rerun and ![Restart Debug icon](https://resources.jetbrains.com/help/img/idea/2026.2/app.expui.run.restartDebug.svg) Restart Debug buttons in the run widget. The IDE will display a dialog with available update policies every time you click them.

* On frame deactivation: Select which update policy the IDE should run when you switch from IntelliJ IDEA to a different window (for example, a web browser).

4. Click Apply and then OK.

## Available application update policies

This chapter describes all update policies that IntelliJ IDEA supports for applications running on application servers. The policies available to you depend on your run configuration type (local or remote) and artifact type (exploded or packaged). Some policies are only available in [debug mode](starting-the-debugger-session.html).

Local run configurations:

| Update policy | Description | Artifact type |
| --- | --- | --- |
| Update resources | Update modified resources (such as HTML, JSP, JavaScript, CSS, or images) in the artifact directories. | Exploded |
| Update classes and resources |    Recompile modules included in the artifacts and update the modified resources and classes (including EJBs, servlets, and so on) in the artifact directories.      If the application is in debug mode, IntelliJ IDEA uses [HotSwap](altering-the-program-s-execution-flow.html#reload_classes) for classes and updates them in the JVM instead of the artifact directories.     | Exploded |
| Hot Swap classes (debug mode only) |    Recompile modules included in the artifacts and update the modified classes in the JVM using HotSwap.    |    Packaged    |
| Redeploy |    Rebuild the application artifacts and redeploy them to the server.     This policy may be time-consuming.    | Exploded and packaged |
| Restart server |    Restart the server, rebuild the application artifacts, and redeploy them to the server.     This policy may be very time-consuming.    | Exploded and packaged |

Remote run configurations:

| Update policy | Description | Artifact type |
| --- | --- | --- |
| Hot Swap classes (debug mode only) |    Recompile modules included in the artifacts and update the modified classes in the JVM using [HotSwap](altering-the-program-s-execution-flow.html#reload_classes).    |    Exploded and packaged    |
| Redeploy |    Rebuild the application artifacts and redeploy them to the server.     This policy may be time-consuming.    | Exploded and packaged |

## See also

### Concepts

[Application servers](application-servers-support.html) [Artifacts reference](artifacts.html) [Run/debug configurations](run-debug-configuration.html)

### How tos

[Define application servers](configuring-and-managing-application-server-integration.html) [Create application server run configurations](creating-run-debug-configuration-for-application-server.html) [Run applications](running-applications.html) [Debug code](debugging-code.html)

