项目

一般

简介

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

由 彭 博 在 大约 3 年 之前添加

 应用:
    SpringBoot2.5.4以上
    金蝶v9 sp7以前的版本上

问题:

2021-11-01 10:01:51 信息 [apusic.con.out-HTTPHandler-1-107] 2021-11-01 10:01:51.919 ERROR 20240 --- [TPHandler-1-107] o.s.b.w.servlet.support.ErrorPageFilter  : Forwarding to error page from request [/test/run] due to exception [javax.servlet.http.HttpServletResponse.setContentLengthLong(J)V]

 

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

        at org.springframework.http.server.ServletServerHttpResponse.writeHeaders(ServletServerHttpResponse.java:130) ~[spring-web-5.3.9.jar:5.3.9]

        at org.springframework.http.server.ServletServerHttpResponse.getBody(ServletServerHttpResponse.java:96) ~[spring-web-5.3.9.jar:5.3.9]

        at org.springframework.http.converter.StringHttpMessageConverter.writeInternal(StringHttpMessageConverter.java:126) ~[spring-web-5.3.9.jar:5.3.9]

        at org.springframework.http.converter.StringHttpMessageConverter.writeInternal(StringHttpMessageConverter.java:44) ~[spring-web-5.3.9.jar:5.3.9]

        at org.springframework.http.converter.AbstractHttpMessageConverter.write(AbstractHttpMessageConverter.java:227) ~[spring-web-5.3.9.jar:5.3.9]

        at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:293) ~[spring-webmvc-5.3.9.jar:5.3.9]

 

解决方案:

放servlet.jar 3.1以上的版本到sp目录下。(或者把javaee 8.0jar放入v9的lib目录里面也可以)

servlet3.1以下的版本是没有这个方法的