Installing

Vaadin applications are written in Java, and optionally HTML, JavaScript, or TypeScript. You can develop Vaadin applications in essentially any development environment that has the Java SDK and deploys to a Java Servlet container. You can use Vaadin with any Java IDE or no IDE at all. Vaadin has special support for the Eclipse, NetBeans, and IntelliJ IDEA IDEs.

Required Tools

You need at least the following tools during application development:

• Java JDK (8 or newer)

• npm (5.6 or newer, part of Node.js installation)

While Java 8 is supported, we recommend using Java 11 (the latest LTS version) or later, but you need to make sure that your entire toolchain supports it.

Optionally, you can use:

• A Java IDE (Eclipse EE, NetBeans IDE, IntelliJ IDEA, VS Code, etc.)

• A front-end IDE such as VS Code, WebStorm, or Atom

• An external Java Servlet Container (Tomcat, TomEE, JBoss, WildFly, GlassFish, etc.)

For a particular version of the Vaadin, please see the release notes for a more comprehensive list of requirements.

Running an Application Locally

Vaadin applications are run by deploying them to a Java Servlet Container (a server application). All Vaadin starter packs come with an embedded servlet container that can be used during development. You can also use an external servlet container, such as Tomcat, WildFly, or WebLogic. IDEs include integration with external containers and one can make debugging easier, and more compatible if you use the same one for production.

Managing Dependencies

Managing Vaadin and other Java libraries can get tedious to do manually, so using a build system that manages dependencies automatically is recommended. Vaadin is distributed in the Maven central repository, and can be used with any build or dependency management system that can access Maven repositories, such as Ivy or Gradle, in addition to Maven.

The npm package manager is used for managing Vaadin frontend dependencies.

Automatic Installation of Frontend Toolchain

Unless Node.js is already installed globally, Vaadin automatically downloads and installs it into the ~/.vaadin directory. Other required frontend tools, such as webpack, are automatically installed into each project by npm. A caching package manager, pnpm, allows sharing dependencies between projects. See Frontend Tools for more details.