Gradle项目升级Spring Boot 3.0.1后遇NoClassDefFoundError: jakarta/servlet/http/HttpSessionContext
Spring Boot 3.0.1升级后Jetty出现NoClassDefFoundError问题解决
在Gradle项目中将Spring Boot从2.7.6升级至3.0.1后,触发以下错误:
Caused by: java.lang.NoClassDefFoundError: jakarta/servlet/http/HttpSessionContext at org.eclipse.jetty.servlet.ServletContextHandler.newSessionHandler(ServletContextHandler.java:339) at org.eclipse.jetty.servlet.ServletContextHandler.getSessionHandler(ServletContextHandler.java:432) at org.eclipse.jetty.servlet.ServletContextHandler.relinkHandlers(ServletContextHandler.java:257) at org.eclipse.jetty.servlet.ServletContextHandler.<init>(ServletContextHandler.java:180) at org.eclipse.jetty.webapp.WebAppContext.<init>(WebAppContext.java:301) at org.eclipse.jetty.webapp.WebAppContext.<init>(WebAppContext.java:228) at org.springframework.boot.web.embedded.jetty.JettyEmbeddedWebAppContext.<init>(JettyEmbeddedWebAppContext.java:28) at org.springframework.boot.web.embedded.jetty.JettyServletWebServerFactory.getWebServer(JettyServletWebServerFactory.java:158) at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:183) at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:161) ... 9 common frames omitted Caused by: java.lang.ClassNotFoundException: jakarta.servlet.http.HttpSessionContext at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520) ... 19 common frames omitted
问题原因
Spring Boot 3.0默认适配Servlet API 6.0,但当前使用的Jetty版本不支持该API版本,导致找不到jakarta.servlet.http.HttpSessionContext类。
解决方法
在Gradle配置中强制将Servlet API版本降级至5.0.0:
- Groovy DSL(build.gradle):
ext['jakarta.servlet.version'] = '5.0.0'
- Kotlin DSL(build.gradle.kts):
extra["jakarta.servlet.version"] = "5.0.0"
内容的提问来源于stack exchange,提问作者Erii Asari
相关产品推荐
相关产品推荐

