java.lang.NoSuchMethodError: javax.servlet.http.HttpServletRequest.getHttpServletMapping()Ljavax/servlet/http/HttpServletMapping
网上搜索有两种结果:
1、springboot内带的servlet-api的版本与tomcat下自带jar包版本冲突;
2、SpringBoot2.x内置的tomcat9,tomcat9使用的是servletAPI v4,但是SpringBoot web 2.x还包含着 servletAPI v3.1
针对以上两种:
首先springboot是jar包启动,不是用tomcat启动,所以第一种放弃。
第二种提示已经很明显,在项目jar包源码依赖中找到servlet-api,将版本改成4.x以上,重新打包上传服务器,启动成功。
jar包启动命令:nohup java -jar **.jar &
查看日志 tail -f nohup.out
再访问页面成功,后台日志无报错。
参考:
[1]: https://www.cnblogs.com/shank/p/10620296.html