Deploying a Vaadin application to traditional servlet containers, such as Tomcat, Jetty or any Java/Jakarta EE server, doesn’t really differ from other web applications. Just ensure production profile is used in your built to get optimal performance.
Follow the official documentation of your Servlet container for best practices for production deployment.
Note: If you are using our Spring Boot starter, that first needs to be converted to a WAR file packaging.
Like it is done by default in Spring Boot applications, many servlet containers can be embedded to your application and this way packaged as executable JAR files. Follow the examples you find from your favourite Servlet container.