Spring Boot Thin Jar Builder for Running Java Microservices

Today we’d like to continue the topic about building microservices and move from Fat (Uber) Jar to Thin Jar for Spring Boot projects. Thin Jar represents a compiled and packaged application code (business logic) of the project together with the third party libraries it depends on. Compared to Fat, it does not contain application server runtime by default, so the size of a Thin archive is much smaller. The runtime and dependencies are automatically downloaded during the first launch and stored locally in ~/.m2/repository.

To showcase the process of building Thin Jar for running microservice architecture, we’ll use a pre-configured package of Maven and popular Spring Boot framework inside Java Engine.

Installation of Spring Boot Thin Jar Builder

Get started by accessing Jelastic dashboard. Find the Spring Boot Thin Jar Builder in the Marketplace and click Install.

Or you can Import the required manifest from GitHub using the link:

https://github.com/jelastic-jps/spring-boot/blob/master/microservice-thin-jar/manifest.jps

If required, change the installation settings such as environment name or Git repository link to a custom Spring Boot project. Then press Install.

When the installation and building of the project are completed, a corresponding message appears. You still need to wait a few minutes for deploy to be finished (feel free to track the process in Tasks panel). In the default implementation, the deployment is done under api/greeting context.

In a few minutes, you can make sure that application is up and running by pressing Open in browser button. Topology for Spring Boot Thin looks as in the picture below.

That’s all, feel free to run as many microservices as required for your project without any complexity while building them. In the upcoming articles, we’ll cover the steps of getting Fat, Thin or Skinny Jar files for Thorntail, Vert.x and DropWizard applications. Stay tuned and get more benefits from microservice architecture with Jelastic PaaS.