Веб-приложение, работающее в eclipse, выдает ошибку Verify EL org.apache.catalina.core.StandardWrapperValve

StackOverflow https://stackoverflow.com/questions/7310968

  •  26-10-2019
  •  | 
  •  

Вопрос

Стандартное веб-приложение, хорошо работающее в Eclipse в среде Tomcat 7, выдает эту ошибку.Есть идеи

Приложение работает нормально в 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;) Несовместимый аргумент функции

Это может произойти, если вы скомпилировали/создали свое веб-приложение/WAR для версии JSP/сервлета, которая не поддерживается контейнером, работающим в рабочей среде.Например, вы разрабатываете с использованием Tomcat 7, но в конечном итоге развертываете его на Tomcat 6.Убедитесь, что целевой контейнер сервлетов среды выполнения имеет ту же версию JSP/сервлета, что и контейнер сервлетов, для которого вы разрабатываете в Eclipse.

Щелкните проект правой кнопкой мыши и проверьте свойства. Грани проекта если Динамический веб-модуль версия соответствует максимальной поддерживаемой версии API сервлетов в качестве целевой среды выполнения.Например.Tomcat 6.0 поддерживает только сервлет 2.5.Также вам следует предпочесть разработку точно той же марки/версии контейнера сервлетов, которая используется в производстве.Затем это можно установить в Целевые среды выполнения раздел свойств проекта.

Вы также должны убедиться, что у вас нет библиотек, специфичных для контейнера, в /WEB-INF/lib вашего веб-приложения.Смотрите также Как мне импортировать API javax.servlet в мой проект Eclipse?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top