先说原因,其实都是你的jar有问题

1.jar冲突
2.少依赖了包
网上很多说springmvc和springwebmvc,版本高于5.3.0导致的,会有这个问题,那是因为他们没看过源码,高版本的因为在这里,多了一行代码,这里设置的时候,会到实现类里面写一个东西,this.servletResponse.setContentLengthLong(contentLength);
在这里插入图片描述
因为低版本的没有这行代码,所以不会跑到实现类里去setContentLengthLong
所以你降低版本是没有问题的,但是高版本的功能你都用不了了

下面我们看下低版本这里的代码是怎么写的,例如我的5.0.13

在这里插入图片描述

看完的话你就会明白,这个其实就是因为框架版本升级,你的jar少了,或者jar冲突了,没找到对应的实现类的方法,就会报错

java.lang.NoSuchMethodError: javax.servlet.http.HttpServletResponse.setContentLengthLong(J)V

如何解决:
1.简单一点的话,就像网上说的,回退版本
2.自己找找哪里冲突了(你的项目用了哪些包哪些冲突了,哪个少了,这个得你自己找)

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐