This tutorial shows you how to deploy a Vaadin application to the Heroku cloud platform. Heroku has a free-tier offering that can be used for non-commercial applications. You can find details of their free offerings on the Heroku website.
Heroku account requiredTo complete this tutorial, you need a Heroku account. You can sign up at https://signup.heroku.com/.
To begin, download and install the Heroku CLI.
When it has been installed, log in to your account from a terminal window using the following command:
Next, install Heroku’s Java plugin by issuing the following command:
heroku plugins:install java
Download a minimal Vaadin project and unpack the downloaded zip into a folder on your computer.
The starter project is on Java 11, whereas, by default, Heroku expects Java 8 projects. To ensure that Heroku will run a Java 11 environment, create a system.properties file under the project root directory with the following content:
If this doesn’t work, you can specify the Java version as a parameter when you run the
deploy command (see Step 6: Deploy the Application):
heroku deploy:jar --jdk=11 ...
Open the project directory from a terminal window, and enter the following command to generate a
JAR file of your application:
mvn package -Pproduction
From a terminal window, enter the following command to initialize a Heroku application:
heroku create --no-remote
This command will create an application with a randomly generated name.
Take a note of the generated application name that appears in the logs.
For example, in the following screenshot, the generated application name is
To deploy the application, run the following command from a terminal in your project’s root directory (replacing 'blooming-beach-34155' in the command with your application name, noted in the previous step):
heroku deploy:jar target/myapp-1.0-SNAPSHOT.jar --app blooming-beach-34155
When the deployment has completed, the application URL will be displayed in the logs.