Deploy MicroProfile application on Heroku

Deploy MicroProfile application on Heroku

In this tutorial we will learn how to deploy our MicroProfile application on Heroku and we will use Payara Micro as our application server.
Heroku is a cloud platform as a service (PaaS) supporting several programming languages and I've been using it for several years without any problems.

Tools You Will Need
Maven 3.3+
Your favorite IDE. I'm using NetBeans
JDK 1.8+

Create a Heroku account:
visit and create a free acount.

Install Heroku CLI on macOS:
On macOS run the following command in your terminal:

$ brew install heroku/brew/heroku

If you are using Linux or Windows visit Heroku set up page to download the installer for your platform.
Now that we have installed Heroku we can log in and create an app on Heroku.
In your terminal type the following command with email and password you used when creating Heroku account:

$ heroku login

Clone the MicroProfile Starter Project from Github

$ git clone

Download Payara Micro
Go to and download Payara Micro jar file.
Create lib folder inside the project directory and copy the Payara Micro jar file to the directory
Inside project directory create Procfile and add the following:

web: java -jar lib/payara-micro-5.183.jar --deploy target/restapi.war --port $PORT

Procfile is used to specify commands that are executed by the app's dynos.
Containers at Heroku are called dynos and those are isolated, virtualized Linux containers designed to execute code based on commands user specifies.

Your project directory should look like this:

tree .
├── Procfile
├── lib
│   └── payara-micro-5.183.jar
├── pom.xml
└── src
    └── main
        ├── java
        │   └── com
        │       └── kodnito
        │           └── restapi
        │               └── rest
        │                   ├──
        │                   └──
        ├── resources
        └── webapp
            └── WEB-INF
                └── beans.xml

Deploy the app:
The first thing is to create an application on Heroku:

$ heroku create microprofile-on-heroku

Now deploy the code:

$ git add .
$ git commit -m 'deploy on heroku'
$ git push heroku master

Now it's time to see if everything is working, your application url will be {appname}

Share this: