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以下的版本是没有这个方法的