升级Spring Boot 3.1.4遇编译错误:无法访问javax.servlet.http.HttpServletRequest
Spring Boot 3.1.4迁移时ServletWebRequest编译错误问题
- 已完成项目向Spring Boot 3.1.4的迁移,所有javax相关导入均替换为jakarta
- 创建
ServletWebRequest实例时编译失败,报错信息:cannot access javax.servlet.http.HttpServletRequest - 相关代码片段:
import org.springframework.web.context.request.WebRequest; import org.springframework.web.context.request.ServletWebRequest; import jakarta.servlet.RequestDispatcher; import jakarta.servlet.http.HttpServletRequest; final WebRequest webRequest = new ServletWebRequest(request);
传入构造方法的request为jakarta.servlet.http.HttpServletRequest类型
- 依赖异常:使用
spring-boot-starter-parent 3.1.4,执行mvn dependency:tree发现依赖的org.springframework:spring-context:jar是5.3.26版本(官方文档对应版本应为6.0.12),手动指定6.0.12版本后错误依旧存在 - 临时解决方式:添加以下javax.servlet-api依赖,并将导入改回javax后,项目可正常编译
<dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.0.1</version> <scope>provided</scope> </dependency>
内容的提问来源于stack exchange,提问作者HendPro12
相关产品推荐
相关产品推荐

