switching to a different HTTP server, you need to exclude the default dependencies in
addition to including the one you need. To help with this process, Spring Boot provides a separate
starter for each of the supported HTTP servers.
<properties>
<servlet-api.version>3.1.0</servlet-api.version>
</properties>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<!-- Exclude the Tomcat dependency -->
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- Use Jetty instead -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jetty</artifactId>
</dependency>
...
The version of the Servlet API has been overridden as, unlike Tomcat 9 and
Undertow 2.0, Jetty 9.4 does not support Servlet 4.0.
To scan for a free port (using OS natives to prevent clashes) use server.port=0