Spring 6项目集成Swagger2抛出ClassNotFoundException异常原因咨询
Spring集成Swagger2出现
java.lang.ClassNotFoundException: javax.servlet.http.HttpServletRequest的原因 缺失Servlet API依赖:Swagger2的运行依赖Servlet API组件,你的项目中没有引入对应的依赖包,导致JVM无法找到
javax.servlet.http.HttpServletRequest类。- 若为Spring Boot项目,正常引入
spring-boot-starter-web会自动包含Servlet API;但如果是纯Spring非Web项目,或是手动移除了web相关依赖,就会触发该异常。 - 若为传统Spring MVC项目,需手动引入
javax.servlet-api依赖(建议将scope设为provided,因为Web容器会提供该类)。
- 若为Spring Boot项目,正常引入
依赖版本冲突或不兼容:项目中Swagger2版本与Servlet API版本不匹配,或是其他依赖间接覆盖了Servlet API的引入,导致类无法被正确加载。
项目配置异常:如果是Maven/Gradle项目,若packaging类型配置为
jar但实际是Web项目,或是未正确配置Web相关插件,也可能导致Servlet API相关类缺失。
内容的提问来源于stack exchange,提问作者Mizanur Remon
相关产品推荐
相关产品推荐

