在eclipse中运行的Web App给出了Verify EL错误org.apache.catalina.core.StandardWrapperValve调用 [英] Web App working in eclipse gives Verify EL error org.apache.catalina.core.StandardWrapperValve invoke
问题描述
在Tomcat 7环境中的Eclipse中运行良好的标准Web应用程序出现此错误.任何想法
应用程序在eclipse中运行良好....但是在Tomcat 7中出现了许多此类错误,并且应用程序无响应
Sep 5, 2011 12:53:57 AM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [jsp] in context with path [] threw exception [java.lang.VerifyError: (class: org/apache/jasper/runtime/JspApplicationContextImpl, method: createELResolver signature: ()Ljavax/el/ELResolver;) Incompatible argument to function] with root cause
java.lang.VerifyError: (class: org/apache/jasper/runtime/JspApplicationContextImpl, method: createELResolver signature: ()Ljavax/el/ELResolver;) Incompatible argument to function
at org.apache.jasper.runtime.JspFactoryImpl.getJspApplicationContext(JspFactoryImpl.java:209)
at org.apache.jsp.index_jsp._jspInit(index_jsp.java:23)
at org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:49)
at org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:171)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:356)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:399)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:317)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:204)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:182)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:311)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)
java.lang.VerifyError:(类:org/apache/jasper/runtime/JspApplicationContextImpl,方法:createELResolver签名:()Ljavax/el/ELResolver;)函数的参数不兼容
当您针对生产环境中运行的容器不支持的JSP/Servlet版本编译/构建了webapp/WAR时,可能会发生这种情况.例如,您正在使用Tomcat 7进行开发,但最终将其部署到Tomcat6.请确保目标运行时servletcontainer与您在Eclipse中开发的servletcontainer具有相同的JSP/Servlet版本. >
右键单击项目,然后检查 Project Facets 的属性,如果 Dynamic Web Module 版本与目标运行时所支持的最大Servlet API版本匹配.例如. Tomcat 6.0仅支持Servlet 2.5.同样,您应该更喜欢针对与生产环境中运行的Servletcontainer完全相同的make/version进行开发.然后可以在项目属性的目标运行时部分中进行设置.
您还应该确保Webapp的/WEB-INF/lib
中没有任何特定于容器的库.另请参见如何导入javax我的Eclipse项目中的.servlet API?
A standard webapp working well in Eclipse in a Tomcat 7 environment is giving this error. Any ideas
App runs fine within eclipse....but tons of these errors in Tomcat 7 and app is unresponsive
Sep 5, 2011 12:53:57 AM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [jsp] in context with path [] threw exception [java.lang.VerifyError: (class: org/apache/jasper/runtime/JspApplicationContextImpl, method: createELResolver signature: ()Ljavax/el/ELResolver;) Incompatible argument to function] with root cause
java.lang.VerifyError: (class: org/apache/jasper/runtime/JspApplicationContextImpl, method: createELResolver signature: ()Ljavax/el/ELResolver;) Incompatible argument to function
at org.apache.jasper.runtime.JspFactoryImpl.getJspApplicationContext(JspFactoryImpl.java:209)
at org.apache.jsp.index_jsp._jspInit(index_jsp.java:23)
at org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:49)
at org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:171)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:356)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:399)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:317)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:204)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:182)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:311)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)
java.lang.VerifyError: (class: org/apache/jasper/runtime/JspApplicationContextImpl, method: createELResolver signature: ()Ljavax/el/ELResolver;) Incompatible argument to function
This can happen when you've compiled/built your webapp/WAR against a JSP/Servlet version which isn't supported by the container which is running in production. For example, you're developing using Tomcat 7, but you're finally deploying it to Tomcat 6. Ensure that the target runtime servletcontainer is of the same JSP/Servlet version as the servletcontainer which you're developing against in Eclipse.
Rightclick project and check in properties the Project Facets if the Dynamic Web Module version matches the maximum supported Servlet API version as your target runtime. E.g. Tomcat 6.0 supports only Servlet 2.5. Also you should prefer developing against exactly the same servletcontainer make/version as is running in production. This can then be set in Targeted Runtimes section of the project's properties.
You should also ensure that you don't have any container-specific libraries in the /WEB-INF/lib
of your webapp. See also How do I import the javax.servlet API in my Eclipse project?
这篇关于在eclipse中运行的Web App给出了Verify EL错误org.apache.catalina.core.StandardWrapperValve调用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!