Upgrade to Jetty 12.1.0

Closes gh-46906
This commit is contained in:
Stéphane Nicoll 2025-08-19 11:26:52 +02:00
parent 85fa6bb4ba
commit 4a8dc3efd2
26 changed files with 68 additions and 69 deletions

View File

@ -37,8 +37,8 @@ dependencies {
testRuntimeOnly("ch.qos.logback:logback-classic") testRuntimeOnly("ch.qos.logback:logback-classic")
testRuntimeOnly("io.undertow:undertow-servlet") testRuntimeOnly("io.undertow:undertow-servlet")
testRuntimeOnly("org.eclipse.jetty.ee10:jetty-ee10-servlets") testRuntimeOnly("org.eclipse.jetty.ee11:jetty-ee11-servlets")
testRuntimeOnly("org.eclipse.jetty.ee10:jetty-ee10-webapp") testRuntimeOnly("org.eclipse.jetty.ee11:jetty-ee11-webapp")
} }
test { test {

View File

@ -94,7 +94,7 @@ dependencies {
testImplementation("org.apache.tomcat.embed:tomcat-embed-websocket") testImplementation("org.apache.tomcat.embed:tomcat-embed-websocket")
testImplementation("org.apache.tomcat.embed:tomcat-embed-core") testImplementation("org.apache.tomcat.embed:tomcat-embed-core")
testImplementation("org.apache.tomcat.embed:tomcat-embed-jasper") testImplementation("org.apache.tomcat.embed:tomcat-embed-jasper")
testImplementation("org.eclipse.jetty.ee10.websocket:jetty-ee10-websocket-jakarta-client") testImplementation("org.eclipse.jetty.ee11.websocket:jetty-ee11-websocket-jakarta-client")
testImplementation("org.hsqldb:hsqldb") testImplementation("org.hsqldb:hsqldb")
testImplementation("org.postgresql:postgresql") testImplementation("org.postgresql:postgresql")
testImplementation("org.springframework:spring-webmvc") testImplementation("org.springframework:spring-webmvc")

View File

@ -26,16 +26,16 @@ description = "Spring Boot Jetty"
dependencies { dependencies {
api(project(":module:spring-boot-web-server")) api(project(":module:spring-boot-web-server"))
api("org.eclipse.jetty.ee10:jetty-ee10-servlets") api("org.eclipse.jetty.ee11:jetty-ee11-servlets")
api("org.eclipse.jetty.ee10:jetty-ee10-webapp") api("org.eclipse.jetty.ee11:jetty-ee11-webapp")
optional(project(":core:spring-boot-autoconfigure")) optional(project(":core:spring-boot-autoconfigure"))
optional(project(":module:spring-boot-actuator-autoconfigure")) optional(project(":module:spring-boot-actuator-autoconfigure"))
optional(project(":module:spring-boot-metrics")) optional(project(":module:spring-boot-metrics"))
optional("org.apache.tomcat.embed:tomcat-embed-jasper") optional("org.apache.tomcat.embed:tomcat-embed-jasper")
optional("org.eclipse.jetty:jetty-alpn-conscrypt-server") optional("org.eclipse.jetty:jetty-alpn-conscrypt-server")
optional("org.eclipse.jetty.ee10.websocket:jetty-ee10-websocket-jakarta-server") optional("org.eclipse.jetty.ee11.websocket:jetty-ee11-websocket-jakarta-server")
optional("org.eclipse.jetty.ee10.websocket:jetty-ee10-websocket-jetty-server") optional("org.eclipse.jetty.ee11.websocket:jetty-ee11-websocket-jetty-server")
optional("org.eclipse.jetty.http2:jetty-http2-server") optional("org.eclipse.jetty.http2:jetty-http2-server")
optional("org.springframework:spring-webflux") optional("org.springframework:spring-webflux")

View File

@ -24,8 +24,8 @@ import java.util.stream.Collectors;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
import org.eclipse.jetty.ee10.servlet.ServletContextHandler; import org.eclipse.jetty.ee11.servlet.ServletContextHandler;
import org.eclipse.jetty.ee10.servlet.ServletHolder; import org.eclipse.jetty.ee11.servlet.ServletHolder;
import org.eclipse.jetty.server.Connector; import org.eclipse.jetty.server.Connector;
import org.eclipse.jetty.server.Handler; import org.eclipse.jetty.server.Handler;
import org.eclipse.jetty.server.NetworkConnector; import org.eclipse.jetty.server.NetworkConnector;

View File

@ -25,8 +25,8 @@ import java.util.List;
import java.util.Set; import java.util.Set;
import java.util.concurrent.Executor; import java.util.concurrent.Executor;
import org.eclipse.jetty.ee10.webapp.Configuration; import org.eclipse.jetty.ee11.webapp.Configuration;
import org.eclipse.jetty.ee10.webapp.WebAppContext; import org.eclipse.jetty.ee11.webapp.WebAppContext;
import org.eclipse.jetty.http2.server.HTTP2CServerConnectionFactory; import org.eclipse.jetty.http2.server.HTTP2CServerConnectionFactory;
import org.eclipse.jetty.io.ByteBufferPool; import org.eclipse.jetty.io.ByteBufferPool;
import org.eclipse.jetty.server.AbstractConnector; import org.eclipse.jetty.server.AbstractConnector;

View File

@ -23,7 +23,7 @@ import java.util.function.BiConsumer;
import java.util.function.Consumer; import java.util.function.Consumer;
import java.util.stream.Stream; import java.util.stream.Stream;
import org.eclipse.jetty.ee10.servlet.ServletContextHandler; import org.eclipse.jetty.ee11.servlet.ServletContextHandler;
import org.eclipse.jetty.server.AbstractConnector; import org.eclipse.jetty.server.AbstractConnector;
import org.eclipse.jetty.server.ConnectionFactory; import org.eclipse.jetty.server.ConnectionFactory;
import org.eclipse.jetty.server.Connector; import org.eclipse.jetty.server.Connector;
@ -93,7 +93,7 @@ public class JettyWebServerFactoryCustomizer
map.from(this.jettyProperties::getMaxHttpResponseHeaderSize) map.from(this.jettyProperties::getMaxHttpResponseHeaderSize)
.asInt(DataSize::toBytes) .asInt(DataSize::toBytes)
.when(this::isPositive) .when(this::isPositive)
.to(customizeHttpConfigurations(factory, HttpConfiguration::setResponseHeaderSize)); .to(customizeHttpConfigurations(factory, HttpConfiguration::setMaxResponseHeaderSize));
map.from(this.jettyProperties::getMaxHttpFormPostSize) map.from(this.jettyProperties::getMaxHttpFormPostSize)
.asInt(DataSize::toBytes) .asInt(DataSize::toBytes)
.when(this::isPositive) .when(this::isPositive)

View File

@ -16,8 +16,8 @@
package org.springframework.boot.jetty.autoconfigure.reactive; package org.springframework.boot.jetty.autoconfigure.reactive;
import org.eclipse.jetty.ee10.servlet.ServletHolder; import org.eclipse.jetty.ee11.servlet.ServletHolder;
import org.eclipse.jetty.ee10.websocket.jakarta.server.config.JakartaWebSocketServletContainerInitializer; import org.eclipse.jetty.ee11.websocket.jakarta.server.config.JakartaWebSocketServletContainerInitializer;
import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.Server;
import org.springframework.beans.factory.ObjectProvider; import org.springframework.beans.factory.ObjectProvider;

View File

@ -17,10 +17,10 @@
package org.springframework.boot.jetty.autoconfigure.reactive; package org.springframework.boot.jetty.autoconfigure.reactive;
import jakarta.servlet.ServletContext; import jakarta.servlet.ServletContext;
import org.eclipse.jetty.ee10.servlet.ServletContextHandler; import org.eclipse.jetty.ee11.servlet.ServletContextHandler;
import org.eclipse.jetty.ee10.websocket.jakarta.server.JakartaWebSocketServerContainer; import org.eclipse.jetty.ee11.websocket.jakarta.server.JakartaWebSocketServerContainer;
import org.eclipse.jetty.ee10.websocket.server.JettyWebSocketServerContainer; import org.eclipse.jetty.ee11.websocket.server.JettyWebSocketServerContainer;
import org.eclipse.jetty.ee10.websocket.servlet.WebSocketUpgradeFilter; import org.eclipse.jetty.ee11.websocket.servlet.WebSocketUpgradeFilter;
import org.eclipse.jetty.server.Handler; import org.eclipse.jetty.server.Handler;
import org.eclipse.jetty.websocket.core.server.WebSocketMappings; import org.eclipse.jetty.websocket.core.server.WebSocketMappings;
import org.eclipse.jetty.websocket.core.server.WebSocketServerComponents; import org.eclipse.jetty.websocket.core.server.WebSocketServerComponents;

View File

@ -21,9 +21,9 @@ import java.util.EnumSet;
import jakarta.servlet.DispatcherType; import jakarta.servlet.DispatcherType;
import jakarta.servlet.FilterRegistration.Dynamic; import jakarta.servlet.FilterRegistration.Dynamic;
import jakarta.servlet.ServletRequest; import jakarta.servlet.ServletRequest;
import org.eclipse.jetty.ee10.webapp.WebAppContext; import org.eclipse.jetty.ee11.webapp.WebAppContext;
import org.eclipse.jetty.ee10.websocket.jakarta.server.config.JakartaWebSocketServletContainerInitializer; import org.eclipse.jetty.ee11.websocket.jakarta.server.config.JakartaWebSocketServletContainerInitializer;
import org.eclipse.jetty.ee10.websocket.servlet.WebSocketUpgradeFilter; import org.eclipse.jetty.ee11.websocket.servlet.WebSocketUpgradeFilter;
import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.util.Loader; import org.eclipse.jetty.util.Loader;

View File

@ -16,11 +16,11 @@
package org.springframework.boot.jetty.autoconfigure.servlet; package org.springframework.boot.jetty.autoconfigure.servlet;
import org.eclipse.jetty.ee10.webapp.AbstractConfiguration; import org.eclipse.jetty.ee11.webapp.AbstractConfiguration;
import org.eclipse.jetty.ee10.webapp.WebAppContext; import org.eclipse.jetty.ee11.webapp.WebAppContext;
import org.eclipse.jetty.ee10.websocket.jakarta.server.JakartaWebSocketServerContainer; import org.eclipse.jetty.ee11.websocket.jakarta.server.JakartaWebSocketServerContainer;
import org.eclipse.jetty.ee10.websocket.server.JettyWebSocketServerContainer; import org.eclipse.jetty.ee11.websocket.server.JettyWebSocketServerContainer;
import org.eclipse.jetty.ee10.websocket.servlet.WebSocketUpgradeFilter; import org.eclipse.jetty.ee11.websocket.servlet.WebSocketUpgradeFilter;
import org.eclipse.jetty.websocket.core.server.WebSocketMappings; import org.eclipse.jetty.websocket.core.server.WebSocketMappings;
import org.eclipse.jetty.websocket.core.server.WebSocketServerComponents; import org.eclipse.jetty.websocket.core.server.WebSocketServerComponents;

View File

@ -20,8 +20,8 @@ import java.net.InetSocketAddress;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
import org.eclipse.jetty.ee10.servlet.ServletContextHandler; import org.eclipse.jetty.ee11.servlet.ServletContextHandler;
import org.eclipse.jetty.ee10.servlet.ServletHolder; import org.eclipse.jetty.ee11.servlet.ServletHolder;
import org.eclipse.jetty.server.NetworkConnectionLimit; import org.eclipse.jetty.server.NetworkConnectionLimit;
import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.handler.StatisticsHandler; import org.eclipse.jetty.server.handler.StatisticsHandler;

View File

@ -24,7 +24,7 @@ import java.net.URLStreamHandler;
import java.net.URLStreamHandlerFactory; import java.net.URLStreamHandlerFactory;
import jakarta.servlet.ServletContainerInitializer; import jakarta.servlet.ServletContainerInitializer;
import org.eclipse.jetty.ee10.webapp.WebAppContext; import org.eclipse.jetty.ee11.webapp.WebAppContext;
import org.eclipse.jetty.util.component.AbstractLifeCycle; import org.eclipse.jetty.util.component.AbstractLifeCycle;
import org.jspecify.annotations.Nullable; import org.jspecify.annotations.Nullable;

View File

@ -16,7 +16,7 @@
package org.springframework.boot.jetty.servlet; package org.springframework.boot.jetty.servlet;
import org.eclipse.jetty.ee10.servlet.ErrorPageErrorHandler; import org.eclipse.jetty.ee11.servlet.ErrorPageErrorHandler;
import org.eclipse.jetty.http.HttpMethod; import org.eclipse.jetty.http.HttpMethod;
/** /**

View File

@ -16,8 +16,8 @@
package org.springframework.boot.jetty.servlet; package org.springframework.boot.jetty.servlet;
import org.eclipse.jetty.ee10.servlet.ServletHandler; import org.eclipse.jetty.ee11.servlet.ServletHandler;
import org.eclipse.jetty.ee10.webapp.WebAppContext; import org.eclipse.jetty.ee11.webapp.WebAppContext;
import org.eclipse.jetty.util.ClassMatcher; import org.eclipse.jetty.util.ClassMatcher;
import org.springframework.boot.jetty.JettyWebServer; import org.springframework.boot.jetty.JettyWebServer;

View File

@ -31,18 +31,18 @@ import java.util.UUID;
import jakarta.servlet.http.Cookie; import jakarta.servlet.http.Cookie;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
import org.eclipse.jetty.ee10.servlet.ErrorHandler; import org.eclipse.jetty.ee11.servlet.ErrorHandler;
import org.eclipse.jetty.ee10.servlet.ErrorPageErrorHandler; import org.eclipse.jetty.ee11.servlet.ErrorPageErrorHandler;
import org.eclipse.jetty.ee10.servlet.ListenerHolder; import org.eclipse.jetty.ee11.servlet.ListenerHolder;
import org.eclipse.jetty.ee10.servlet.ServletHandler; import org.eclipse.jetty.ee11.servlet.ServletHandler;
import org.eclipse.jetty.ee10.servlet.ServletHolder; import org.eclipse.jetty.ee11.servlet.ServletHolder;
import org.eclipse.jetty.ee10.servlet.ServletMapping; import org.eclipse.jetty.ee11.servlet.ServletMapping;
import org.eclipse.jetty.ee10.servlet.SessionHandler; import org.eclipse.jetty.ee11.servlet.SessionHandler;
import org.eclipse.jetty.ee10.servlet.Source; import org.eclipse.jetty.ee11.servlet.Source;
import org.eclipse.jetty.ee10.webapp.AbstractConfiguration; import org.eclipse.jetty.ee11.webapp.AbstractConfiguration;
import org.eclipse.jetty.ee10.webapp.Configuration; import org.eclipse.jetty.ee11.webapp.Configuration;
import org.eclipse.jetty.ee10.webapp.WebAppContext; import org.eclipse.jetty.ee11.webapp.WebAppContext;
import org.eclipse.jetty.ee10.webapp.WebInfConfiguration; import org.eclipse.jetty.ee11.webapp.WebInfConfiguration;
import org.eclipse.jetty.http.CookieCompliance; import org.eclipse.jetty.http.CookieCompliance;
import org.eclipse.jetty.http.HttpCookie; import org.eclipse.jetty.http.HttpCookie;
import org.eclipse.jetty.http.HttpField; import org.eclipse.jetty.http.HttpField;
@ -50,7 +50,6 @@ import org.eclipse.jetty.http.HttpFields;
import org.eclipse.jetty.http.HttpFields.Mutable; import org.eclipse.jetty.http.HttpFields.Mutable;
import org.eclipse.jetty.http.HttpHeader; import org.eclipse.jetty.http.HttpHeader;
import org.eclipse.jetty.http.MimeTypes; import org.eclipse.jetty.http.MimeTypes;
import org.eclipse.jetty.http.MimeTypes.Wrapper;
import org.eclipse.jetty.http.SetCookieParser; import org.eclipse.jetty.http.SetCookieParser;
import org.eclipse.jetty.server.Connector; import org.eclipse.jetty.server.Connector;
import org.eclipse.jetty.server.Handler; import org.eclipse.jetty.server.Handler;
@ -336,7 +335,7 @@ public class JettyServletWebServerFactory extends JettyWebServerFactory
Assert.notNull(context, "'context' must not be null"); Assert.notNull(context, "'context' must not be null");
ServletHolder holder = new ServletHolder(); ServletHolder holder = new ServletHolder();
holder.setName("default"); holder.setName("default");
holder.setClassName("org.eclipse.jetty.ee10.servlet.DefaultServlet"); holder.setClassName("org.eclipse.jetty.ee11.servlet.DefaultServlet");
holder.setInitParameter("dirAllowed", "false"); holder.setInitParameter("dirAllowed", "false");
holder.setInitOrder(1); holder.setInitOrder(1);
context.getServletHandler().addServletWithMapping(holder, "/"); context.getServletHandler().addServletWithMapping(holder, "/");
@ -406,8 +405,8 @@ public class JettyServletWebServerFactory extends JettyWebServerFactory
@Override @Override
public void configure(WebAppContext context) throws Exception { public void configure(WebAppContext context) throws Exception {
MimeTypes.Wrapper mimeTypes = (Wrapper) context.getMimeTypes(); MimeTypes.Mutable mimeTypes = context.getMimeTypes();
mimeTypes.setWrapped(new MimeTypes(null)); mimeTypes.clear();
for (MimeMappings.Mapping mapping : getSettings().getMimeMappings()) { for (MimeMappings.Mapping mapping : getSettings().getMimeMappings()) {
mimeTypes.addMimeMapping(mapping.getExtension(), mapping.getMimeType()); mimeTypes.addMimeMapping(mapping.getExtension(), mapping.getMimeType());
} }

View File

@ -17,9 +17,9 @@
package org.springframework.boot.jetty.servlet; package org.springframework.boot.jetty.servlet;
import jakarta.servlet.ServletException; import jakarta.servlet.ServletException;
import org.eclipse.jetty.ee10.webapp.AbstractConfiguration; import org.eclipse.jetty.ee11.webapp.AbstractConfiguration;
import org.eclipse.jetty.ee10.webapp.Configuration; import org.eclipse.jetty.ee11.webapp.Configuration;
import org.eclipse.jetty.ee10.webapp.WebAppContext; import org.eclipse.jetty.ee11.webapp.WebAppContext;
import org.springframework.boot.web.server.servlet.ServletContextInitializers; import org.springframework.boot.web.server.servlet.ServletContextInitializers;
import org.springframework.boot.web.servlet.ServletContextInitializer; import org.springframework.boot.web.servlet.ServletContextInitializer;

View File

@ -21,7 +21,7 @@ import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import org.eclipse.jetty.ee10.servlet.ServletContextHandler; import org.eclipse.jetty.ee11.servlet.ServletContextHandler;
import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.util.thread.QueuedThreadPool; import org.eclipse.jetty.util.thread.QueuedThreadPool;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;

View File

@ -26,7 +26,7 @@ import java.util.concurrent.BlockingQueue;
import java.util.concurrent.SynchronousQueue; import java.util.concurrent.SynchronousQueue;
import java.util.function.Function; import java.util.function.Function;
import org.eclipse.jetty.ee10.servlet.ServletContextHandler; import org.eclipse.jetty.ee11.servlet.ServletContextHandler;
import org.eclipse.jetty.server.AbstractConnector; import org.eclipse.jetty.server.AbstractConnector;
import org.eclipse.jetty.server.Connector; import org.eclipse.jetty.server.Connector;
import org.eclipse.jetty.server.CustomRequestLog; import org.eclipse.jetty.server.CustomRequestLog;

View File

@ -17,7 +17,7 @@
package org.springframework.boot.jetty.autoconfigure.reactive; package org.springframework.boot.jetty.autoconfigure.reactive;
import jakarta.websocket.server.ServerContainer; import jakarta.websocket.server.ServerContainer;
import org.eclipse.jetty.ee10.servlet.ServletContextHandler; import org.eclipse.jetty.ee11.servlet.ServletContextHandler;
import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.handler.StatisticsHandler; import org.eclipse.jetty.server.handler.StatisticsHandler;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;

View File

@ -19,7 +19,7 @@ package org.springframework.boot.jetty.autoconfigure.servlet;
import java.util.Map; import java.util.Map;
import jakarta.servlet.Filter; import jakarta.servlet.Filter;
import org.eclipse.jetty.ee10.websocket.servlet.WebSocketUpgradeFilter; import org.eclipse.jetty.ee11.websocket.servlet.WebSocketUpgradeFilter;
import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.Server;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;

View File

@ -42,11 +42,11 @@ import org.apache.hc.core5.http.HttpResponse;
import org.apache.jasper.servlet.JspServlet; import org.apache.jasper.servlet.JspServlet;
import org.assertj.core.api.InstanceOfAssertFactories; import org.assertj.core.api.InstanceOfAssertFactories;
import org.awaitility.Awaitility; import org.awaitility.Awaitility;
import org.eclipse.jetty.ee10.servlet.ErrorPageErrorHandler; import org.eclipse.jetty.ee11.servlet.ErrorPageErrorHandler;
import org.eclipse.jetty.ee10.servlet.ServletHolder; import org.eclipse.jetty.ee11.servlet.ServletHolder;
import org.eclipse.jetty.ee10.webapp.AbstractConfiguration; import org.eclipse.jetty.ee11.webapp.AbstractConfiguration;
import org.eclipse.jetty.ee10.webapp.Configuration; import org.eclipse.jetty.ee11.webapp.Configuration;
import org.eclipse.jetty.ee10.webapp.WebAppContext; import org.eclipse.jetty.ee11.webapp.WebAppContext;
import org.eclipse.jetty.server.AbstractConnector; import org.eclipse.jetty.server.AbstractConnector;
import org.eclipse.jetty.server.Connector; import org.eclipse.jetty.server.Connector;
import org.eclipse.jetty.server.Handler; import org.eclipse.jetty.server.Handler;

View File

@ -60,7 +60,7 @@ dependencies {
testImplementation("io.micrometer:micrometer-registry-prometheus") testImplementation("io.micrometer:micrometer-registry-prometheus")
testImplementation("io.opentelemetry:opentelemetry-exporter-common") testImplementation("io.opentelemetry:opentelemetry-exporter-common")
testImplementation("io.prometheus:prometheus-metrics-exposition-formats") testImplementation("io.prometheus:prometheus-metrics-exposition-formats")
testImplementation("org.eclipse.jetty.ee10:jetty-ee10-webapp") testImplementation("org.eclipse.jetty.ee11:jetty-ee11-webapp")
testImplementation("org.eclipse.jetty.http2:jetty-http2-server") testImplementation("org.eclipse.jetty.http2:jetty-http2-server")
testRuntimeOnly("ch.qos.logback:logback-classic") testRuntimeOnly("ch.qos.logback:logback-classic")

View File

@ -1005,13 +1005,13 @@ bom {
] ]
} }
} }
library("Jetty", "12.0.25") { library("Jetty", "12.1.0") {
prohibit { prohibit {
contains ".alpha" contains ".alpha"
because "we don't want alpha dependencies" because "we don't want alpha dependencies"
} }
group("org.eclipse.jetty.ee10") { group("org.eclipse.jetty.ee11") {
bom("jetty-ee10-bom") bom("jetty-ee11-bom")
} }
group("org.eclipse.jetty") { group("org.eclipse.jetty") {
bom("jetty-bom") bom("jetty-bom")

View File

@ -33,7 +33,7 @@ dependencies {
exclude module: "spring-boot-starter-tomcat" exclude module: "spring-boot-starter-tomcat"
} }
providedRuntime("org.eclipse.jetty.ee10:jetty-ee10-apache-jsp") providedRuntime("org.eclipse.jetty.ee11:jetty-ee11-apache-jsp")
runtimeOnly("org.glassfish.web:jakarta.servlet.jsp.jstl") runtimeOnly("org.glassfish.web:jakarta.servlet.jsp.jstl")

View File

@ -1,4 +1,4 @@
application.message: Hello Spring Boot application.message: Hello Spring Boot
server.servlet.jsp.class-name=org.eclipse.jetty.ee10.jsp.JettyJspServlet server.servlet.jsp.class-name=org.eclipse.jetty.ee11.jsp.JettyJspServlet
spring.mvc.view.prefix: /WEB-INF/jsp/ spring.mvc.view.prefix: /WEB-INF/jsp/
spring.mvc.view.suffix: .jsp spring.mvc.view.suffix: .jsp

View File

@ -29,11 +29,11 @@ dependencies {
api("jakarta.websocket:jakarta.websocket-api") api("jakarta.websocket:jakarta.websocket-api")
api("jakarta.websocket:jakarta.websocket-client-api") api("jakarta.websocket:jakarta.websocket-client-api")
api("org.apache.tomcat.embed:tomcat-embed-el") api("org.apache.tomcat.embed:tomcat-embed-el")
api("org.eclipse.jetty.ee10.websocket:jetty-ee10-websocket-jakarta-server") { api("org.eclipse.jetty.ee11.websocket:jetty-ee11-websocket-jakarta-server") {
exclude group: "jakarta.el", module: "jakarta.el-api" exclude group: "jakarta.el", module: "jakarta.el-api"
exclude group: "org.eclipse.jetty", module: "jetty-jndi" exclude group: "org.eclipse.jetty", module: "jetty-jndi"
} }
api("org.eclipse.jetty.ee10.websocket:jetty-ee10-websocket-jetty-server") { api("org.eclipse.jetty.ee11.websocket:jetty-ee11-websocket-jetty-server") {
exclude group: "jakarta.el", module: "jakarta.el-api" exclude group: "jakarta.el", module: "jakarta.el-api"
exclude group: "org.eclipse.jetty", module: "jetty-jndi" exclude group: "org.eclipse.jetty", module: "jetty-jndi"
} }