Deploying Spring Boot-Based Applications
Spring Boot applications are slightly different from tradition Java web applications (or Jakarta EE applications) in that they create by default a JAR
file with an embedded server in it, rather than a traditional WAR
file that’s deployed to a standalone Servlet container or fully featured Java EE server.
Alternatively, Spring Boot applications can be packaged as WAR
files, too. See the Spring Boot documentation for instructions on how to do this.
The main differences between JAR
and WAR
packaging are as follows:
-
JAR
packaging don’t need a server binary installed: a Java Runtime is all that’s needed. However, it has a larger package size. -
WAR
packaging is smaller, but needs a separate Java Servlet container. It has a free choice of servers, including Jetty, Tomcat, WildFly, GlassFish, and others.
You can read more about Spring applications and how to deploy them on the official Spring website.