> Markdown version of [Spring Boot](https://vaadin.com/docs/next/flow/production/spring-boot). Section index: [llms.txt](https://vaadin.com/docs/next/flow/llms.txt)

# Deploying Spring Boot-Based Applications

[Spring Boot](https://spring.io/projects/spring-boot) applications are slightly different from tradition Java web applications (or Jakarta EE applications) in that, by default, they create a `JAR` file with an embedded server, rather than a traditional `WAR` file that’s deployed on a standalone Servlet container or fully featured Java EE server.

Alternatively, Spring Boot applications can be packaged as `WAR` files, too. Follow [the instructions in Spring Boot documentation](https://docs.spring.io/spring-boot/how-to/deployment/traditional-deployment.html#howto.traditional-deployment.war) on how to do this.

The main differences between `JAR` and `WAR` packaging are as follows:

`JAR` packaging:

- there is no need for a server binary install; a Java runtime is all that’s needed

- bigger package size

`WAR` packaging:

- a separate Java Servlet container is needed

- you have a free choice of servers, including Jetty, Tomcat, WildFly, GlassFish, and others

- smaller package size

See [Using Spring Boot Properties](https://vaadin.com/docs/next/flow/integrations/spring/configuration.md#using-spring-boot-properties) for additional details.

You can read more about Spring applications and how to deploy them at the [official Spring website](https://spring.io/).

`71BE165F-0E88-4E2B-A9DC-BC59AE06B2F5`
