Deploying to Production
Deploying to a production server involves compiling and packaging the application to be suitable and optimized for the server.
Although you may have launched your server directly from your IDE during development, for production you need to deploy the application as a WAR
file (Java Servlet) or JAR
file that includes your application server (Spring Boot and other embedded servers).
By default, Vaadin applications are set up to run in development mode. This requires a bit more memory and CPU power, but enables easier debugging. When deploying your application to your users, you want to switch to production mode instead.
The main difference between development and production mode is that, in development mode, Vaadin uses Vite to serve JavaScript files to the browser, instead of the Java server the application is running on. This is so that, if you change a JavaScript or CSS file, your changes are picked up and served automatically. When in production mode, you don’t want this extra overhead, since the files don’t change. It’s more efficient to prepare JavaScript and CSS files once, during build, and let one server (the Java Server) serve all requests. At the same time, the client resources can be optimized and minified to reduce the load on the network and browser even further.
Topics
- Production Build
- Create an optimized build of your application for production deployment.
- Servlet Container
- Deploy your application to traditional servlet containers, such as Tomcat, Jetty or any Java/Jakarta EE server.
- Spring Boot
- Deploying a Spring Boot based application.
- Cloud Providers
- Learn how to deploy your application to third-party cloud hosting providers.
- Docker Deployment
- Deploy your Vaadin application using Docker
- Distributed Deployment Architecture
- Application deployment on multiple servers.
- Troubleshooting
- Guidance if you have problems taking Vaadin applications to production.