Deploying a Vaadin application to traditional servlet containers, such as Tomcat, Jetty or any Java/Jakarta EE server, isn’t very different from other web applications. You need to ensure that the production profile is used in your build to achieve optimal performance.
Follow the official documentation of your Servlet container for the best practices in production deployment.
Note: If you are using a Spring Boot-based starter, for example, from https://start.vaadin.com, you first need to convert it to
WAR file packaging.
As is done by default in Spring Boot applications, many servlet containers can be embedded in your application and so be packaged as executable
You may want to follow examples that you find that use your favorite Servlet container.