问题
I am getting this exception while running any JSP on my tomcat5.5 server.Do I need to add any JAR ??? Please Help.
StackTrace:
DEBUG http-8181-Processor25 org.apache.catalina.loader.WebappClassLoader - Loading class from parent
FATAL http-8181-Processor25 org.apache.jasper.runtime.JspFactoryImpl - Exception initializing page context
java.lang.NoSuchMethodError: org.apache.tomcat.util.http.ServerCookie.appendCookieValue(Ljava/lang/StringBuffer;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IZZ)V
at org.apache.catalina.connector.Response.addCookieInternal(Response.java:970)
at org.apache.catalina.connector.Request.doGetSession(Request.java:2285)
at org.apache.catalina.connector.Request.getSession(Request.java:2031)
at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:832)
at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:843)
at org.apache.jasper.runtime.PageContextImpl._initialize(PageContextImpl.java:136)
at org.apache.jasper.runtime.PageContextImpl.initialize(PageContextImpl.java:113)
at org.apache.jasper.runtime.JspFactoryImpl.internalGetPageContext(JspFactoryImpl.java:105)
at org.apache.jasper.runtime.JspFactoryImpl.getPageContext(JspFactoryImpl.java:62)
at org.apache.jsp.banner_jsp._jspService(banner_jsp.java:33)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:619)
DEBUG http-8181-Processor25 org.apache.catalina.loader.WebappClassLoader - loadClass(javax.servlet.jsp.PageContext, false)
回答1:
Check if you have tomcat-coyote.jar
in $CATALINA_BASE/shared/lib/
folder. If exist somehow its not being loaded to classpath while starting server. Check you have this line in conf/catalina.properties
server.loader=${catalina.home}/server/classes,${catalina.home}/server/lib/*.jar
If yes then may be you need to update. What enviornment you are using.
回答2:
I think the issue is more of the jar versions you are using or jars you are in your class path. It is trying to point to in correct class version due to which the required method is unavailable. Which all jars are already set in your classpath?
回答3:
You are not missing any jars. Otherwise you would have got ClassNotFound exception
. The NoSuchMethodError
indicates that the jars are not compatible. Did you by any chance change(or copy from different location) the jar files in /lib, espcially jasper*.jar, tomcat-coyote
?
来源:https://stackoverflow.com/questions/11238420/exception-coming-while-running-jsp