The short answer
For a new Spring Boot application, run the executable JAR. For an existing WAR application or several small applications on one machine, run a standalone Tomcat. Both are fine in production.
Side by side
| Spring Boot JAR | Standalone Tomcat | |
|---|---|---|
| What you deploy | One JAR with its own server | WAR files into a running server |
| Start | java -jar app.jar, usually as a systemd service | Tomcat service, then copy a WAR |
| Several applications | One JVM and one port each | One JVM for all of them |
| Memory | Each app has its own overhead (about 300 to 500 MB beyond the heap) | Overhead is shared, but one leak affects all |
| Isolation | A crash or restart affects one app | A restart affects every app |
| Java and Tomcat versions | Chosen per app, Tomcat version comes with Spring Boot | One version for all, upgraded with the operating system |
| Security patches for Tomcat | Rebuild and redeploy the JAR | Update the package, restart |
| Configuration | application.properties, environment variables | server.xml, context.xml, setenv |
| Docker | Simple, one process per container | Works, but larger image |
Choose the JAR when
- You build a new application with Spring Boot, Quarkus or Micronaut.
- You want the same artifact on your laptop, in CI and on the server.
- You deploy often and want an automatic rollback by switching to the previous JAR.
- You want each application isolated from the others.
Guides: Deploy Spring Boot to a VPS and Run a Spring Boot JAR as a systemd service.
Choose standalone Tomcat when
- You already have WAR files and Jakarta EE style applications (JSP, JSF, servlets).
- You run several small sites and want to share one JVM's memory.
- Your operations team prefers patching Tomcat through the operating system's package manager.
Guides: Install Tomcat on Ubuntu and Deploy a WAR file to Tomcat.
Spring Boot as a WAR in standalone Tomcat
Spring Boot can also be built as a WAR and deployed to an external Tomcat. You lose the simple one-file deployment but gain shared hosting of several applications. If you do this, the Tomcat version must match what your Spring Boot version expects (Spring Boot 3 needs Tomcat 10.1 and Java 17 or newer).
On the server
Both run on our Tomcat hosting and Spring Boot hosting plans, because each plan is a plain VPS. Size the server with the heap calculator. For more server types see Tomcat vs WildFly vs Payara vs Spring Boot.
Questions about tomcat vs embedded tomcat
Is embedded Tomcat slower than standalone?
No. It is the same engine. Performance differences come from configuration and memory, not from the packaging.
Can I switch later?
Yes. A Spring Boot application can be packaged as a JAR or a WAR with small build changes.
Last updated October 29, 2026.