应用部署后,报java.lang.NoSuchMethodError: 'void javax.servlet.http.HttpServletResponse.setContentLengthLong(long)'的问题
由 he shancai 在 超过 3 年 之前添加
如图所示:
查看浏览器有很多报错信息:
查看后台日志:
ERROR o.s.boot.web.servlet.support.ErrorPageFilter - Forwarding to error page from request [/res/app/js/aos.js] due to exception ['void javax.servlet.http.HttpServletResponse.setContentLengthLong(long)']
java.lang.NoSuchMethodError: 'void javax.servlet.http.HttpServletResponse.setContentLengthLong(long)'
at org.springframework.http.server.ServletServerHttpResponse.writeHeaders(ServletServerHttpResponse.java:130)
at org.springframework.http.server.ServletServerHttpResponse.getBody(ServletServerHttpResponse.java:96)
at org.springframework.http.converter.ResourceHttpMessageConverter.writeContent(ResourceHttpMessageConverter.java:137)
at org.springframework.http.converter.ResourceHttpMessageConverter.writeInternal(ResourceHttpMessageConverter.java:129)
at org.springframework.http.converter.ResourceHttpMessageConverter.writeInternal(ResourceHttpMessageConverter.java:45)
at org.springframework.http.converter.AbstractHttpMessageConverter.write(AbstractHttpMessageConverter.java:227)
at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:590)
at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1067)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:770)
at com.apusic.web.container.ServletComponent.service(ServletComponent.java:87)
at com.apusic.web.container.ServletFilterWrapper.doFilter(ServletFilterWrapper.java:38)
at com.apusic.web.container.FilterChainImpl.doFilter(FilterChainImpl.java:48)
at org.glassfish.tyrus.servlet.TyrusServletFilter.doFilter(TyrusServletFilter.java:290)
at com.apusic.web.container.FilterComponent.doFilter(FilterComponent.java:65)
at com.apusic.web.container.FilterChainImpl.performFilter(FilterChainImpl.java:38)
at com.apusic.web.container.FilterChainImpl.doFilter(FilterChainImpl.java:45)
at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61)
at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387)
at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
at com.apusic.web.container.FilterComponent.doFilter(FilterComponent.java:65)
at com.apusic.web.container.FilterChainImpl.performFilter(FilterChainImpl.java:38)
at com.apusic.web.container.FilterChainImpl.doFilter(FilterChainImpl.java:45)
at com.szxy.mybatis.common.filter.SystemFilter.doFilter(SystemFilter.java:49)
at com.apusic.web.container.FilterComponent.doFilter(FilterComponent.java:65)
at com.apusic.web.container.FilterChainImpl.performFilter(FilterChainImpl.java:38)
at com.apusic.web.container.FilterChainImpl.doFilter(FilterChainImpl.java:45)
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at com.apusic.web.container.FilterComponent.doFilter(FilterComponent.java:65)
at com.apusic.web.container.FilterChainImpl.performFilter(FilterChainImpl.java:38)
at com.apusic.web.container.FilterChainImpl.doFilter(FilterChainImpl.java:45)
at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at com.apusic.web.container.FilterComponent.doFilter(FilterComponent.java:65)
at com.apusic.web.container.FilterChainImpl.performFilter(FilterChainImpl.java:38)
at com.apusic.web.container.FilterChainImpl.doFilter(FilterChainImpl.java:45)
at org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:126)
at org.springframework.boot.web.servlet.support.ErrorPageFilter.access$000(ErrorPageFilter.java:64)
at org.springframework.boot.web.servlet.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:101)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:119)
at com.apusic.web.container.FilterComponent.doFilter(FilterComponent.java:65)
at com.apusic.web.container.FilterChainImpl.performFilter(FilterChainImpl.java:38)
at com.apusic.web.container.FilterChainImpl.doFilter(FilterChainImpl.java:45)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at com.apusic.web.container.FilterComponent.doFilter(FilterComponent.java:65)
at com.apusic.web.container.FilterChainImpl.performFilter(FilterChainImpl.java:38)
at com.apusic.web.container.WebContainer.invoke(WebContainer.java:1165)
at com.apusic.web.container.WebContainer.doProcessRequest(WebContainer.java:949)
at com.apusic.web.container.WebContainer.processRequest(WebContainer.java:814)
at com.apusic.web.http.VirtualHost.processRequest(VirtualHost.java:379)
at com.apusic.web.http.HttpServer.processRequest(HttpServer.java:317)
at com.apusic.web.http.HttpConnectionHandler.service(HttpConnectionHandler.java:26)
at com.apusic.web.http.ConnectionHandler.processRequest(ConnectionHandler.java:360)
at com.apusic.web.http.ConnectionHandler.processConnection(ConnectionHandler.java:138)
at com.apusic.web.http.ConnectionHandler.run(ConnectionHandler.java:52)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
解决:中间件的该jar版本过低,未能加载到应用中使用的方法
将应用的jar放到sp目录下,重启中间件解决,跟上下文路径无关