Converting a Spring Boot JAR Application to a WAR

Spring Boot comes with two powerful plugins:

  • spring-boot-gradle-plugin

  • spring-boot-maven-plugin

They both essentially have feature parity and provide the ability to run Spring Boot apps from the command line as well as bundle up runnable JARs. This subject is mentioned in almost every guide at the execution phase towards the end.

A popular subject is that many people still wish to generate WAR files to be deployed inside containers. Both of these plugins support that as well. Essentially, you have to reconfigure your project to produce a WAR file and declare the embedded container dependencies as "provided". This ensures that the relevant embedded container dependencies aren’t included in the WAR file.

For detailed steps on how to configure your application to create a WAR file for your container, please see:

Spring Boot operates on servlet 5.0 spec containers.

See Also

The following guide may also be helpful:

Want to write a new guide or contribute to an existing one? Check out our contribution guidelines.

All guides are released with an ASLv2 license for the code, and an Attribution, NoDerivatives creative commons license for the writing.

Get the Code