Skip to content

Commit

Permalink
Update "Use Another Web Server" documentation
Browse files Browse the repository at this point in the history
Closes gh-37238
  • Loading branch information
mhalbritter committed Oct 27, 2023
1 parent 87742e8 commit b4721c9
Showing 1 changed file with 2 additions and 40 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ The following Maven example shows how to exclude Tomcat and include Jetty for Sp
[source,xml,indent=0,subs="verbatim"]
----
<properties>
<servlet-api.version>3.1.0</servlet-api.version>
<jakarta-servlet.version>5.0.0</jakarta-servlet.version>
</properties>
<dependency>
<groupId>org.springframework.boot</groupId>
Expand All @@ -41,45 +41,7 @@ The following Maven example shows how to exclude Tomcat and include Jetty for Sp
</dependency>
----

NOTE: The version of the servlet API has been overridden as, unlike Tomcat 9 and Undertow 2, Jetty 9.4 does not support servlet 4.0.

If you wish to use Jetty 10, which does support servlet 4.0, you can do so as shown in the following example:

[source,xml,indent=0,subs="verbatim"]
----
<properties>
<jetty.version>10.0.8</jetty.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>
<exclusions>
<!-- Exclude the Jetty-9 specific dependencies -->
<exclusion>
<groupId>org.eclipse.jetty.websocket</groupId>
<artifactId>websocket-server</artifactId>
</exclusion>
<exclusion>
<groupId>org.eclipse.jetty.websocket</groupId>
<artifactId>javax-websocket-server-impl</artifactId>
</exclusion>
</exclusions>
</dependency>
----

Note that along with excluding the Tomcat starter, a couple of Jetty9-specific dependencies also need to be excluded.
NOTE: The version of the Jakarta Servlet API has been overridden as, unlike Tomcat 10 and Undertow 2.3, Jetty 11 does not support Servlet 6.0.

The following Gradle example configures the necessary dependencies and a {gradle-docs}/resolution_rules.html#sec:module_replacement[module replacement] to use Undertow in place of Reactor Netty for Spring WebFlux:

Expand Down

0 comments on commit b4721c9

Please sign in to comment.