技术版本:
SpringBoot2.04
错误场景描述:
项目可以正常启动,但后台接口一被请求就报下面这个错误:
java.lang.NoSuchMethodError: javax.servlet.http.HttpServletRequest.getHttpServletMapping()Ljavax/servlet/http/HttpServletMapping;
at org.apache.catalina.core.ApplicationHttpRequest.setRequest(ApplicationHttpRequest.java:690) ~[tomcat-embed-core-9.0.13.jar:9.0.13]
at org.apache.catalina.core.ApplicationHttpRequest.<init>(ApplicationHttpRequest.java:114) ~[tomcat-embed-core-9.0.13.jar:9.0.13]
at org.apache.catalina.core.ApplicationDispatcher.wrapRequest(ApplicationDispatcher.java:917) ~[tomcat-embed-core-9.0.13.jar:9.0.13]
原因分析:
1、Tomcat版本问题。
2、jar包冲突,具体是servlet-api这个jar包。
解决方案:
1、SringBoot项目使用的是内置Tomcat,如果本地的pom文件中引入了servlet-api依赖,删掉这个依赖。
2、本地的pom文件中没有导入servlet-api这个依赖,这时候只能是jdk引起的jar包冲突了,可以试着把jdk/jre目录里的servlet-api删除掉。文章来源:https://www.toymoban.com/news/detail-659430.html
3、可以保证本地没有导入servlet-api包,而且是使用了SpringBoot内置的TomCat,可以试着重装JDK。文章来源地址https://www.toymoban.com/news/detail-659430.html
到了这里,关于SpringBoot项目报错:java.lang.NoSuchMethodError: javax.servlet.http.HttpServletRequest.getHttpServletMapp的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!