Docs

Documentation versions (currently viewingVaadin 24)

Run a Project

Run your Vaadin application with hot deploy and live reload from within your favorite IDE.

When you generated your walking skeleton, you started it using Maven from the command line to try it out. However, that is not the only way to run a Vaadin application. Since you have imported the project into your Java IDE, you can also run the application from within your IDE.

Tip
IntelliJ IDEA Ultimate gives the best developer experience.

To increase your productivity, you should run your application with live reload and hot deploy. By doing this, your changes are applied automatically without having to manually restart the application and reload the browser.

Hot deploy and live reload are only used during development. They are disabled in production builds.

Tip
Are you behind a proxy?
Vaadin uses Node.js to download the frontend toolchain during the build. If you are behind a proxy, you may need to configure Node to use that. See the Flow Reference guide for details.

Frontend Changes

When hot deploy mode is enabled, all JavaScript, TypeScript, and CSS files inside the src/main/frontend directory are monitored by the frontend build tool. Adding, modifying, or removing a file in this directory triggers a rebuild of the frontend resources, and a browser reload.

Java Changes

When live reload is enabled, changes to your Java source files are automatically applied once they have been compiled by your IDE. This can happen either through an automatic restart of the server application, or by hot swapping. Hot swapping is the process of reloading changed classes in a running JVM without restarting the application.

Not all changes to a Vaadin application can be hotswapped. For instance, if a changed class modifies some global state at application startup, you’d have to restart the application to see that change. There may also be cases where your application starts to behave strangely after having a class hotswapped. In this case, restarting the application manually is often enough to fix the problem.

You’ll find quick guides for running your application with live reload in common Java IDEs here: