Когда я развернул встроенное веб-приложение maven 3.0.3 в tomcat 7.0.23 в Linux (java 1.6.x) и получил доступ к опубликованным учетным данным на странице входа в систему, я получил следующую ошибку.pom.xml ссылается на сервлет 2.5, jsp 2.1 и JSTL 1.2.
Почему я получаю эту ошибку?Что я могу сделать, чтобы избежать этого?
У меня есть другие файлы .war, развернутые на том же экземпляре tomcat, и я никогда не сталкивался с этой проблемой в этих приложениях.
1-й JSP (login.jsp), которыйЯ сделал http GET, не выдавал ошибку.POST от 1-го JSP до 2-го JSP (ChLogin.jsp) столкнулся с проблемой.
=================================
основная причина
java.lang.VerifyError: (class: org/apache/jsp/ChLogin_jsp, method: _jspService signature: (Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V) Inconsistent stack height 0 != 1
java.lang.Class.getDeclaredConstructors0(Native Method)
java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
java.lang.Class.getConstructor0(Class.java:2699)
java.lang.Class.newInstance0(Class.java:326)
java.lang.Class.newInstance(Class.java:308)
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:172)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
ОБНОВЛЕНИЕ 1
WEB-INF \ lib веб-приложения НЕ содержит сервлетов, jsp или jstl-файлов.Он содержит множество зависимостей приложений и пружинных фляг (мы используем Spring MVC).
ОБНОВЛЕНИЕ 2
Мы не выполняем предварительную компиляцию JSP.Это цель для другого дня.
ОБНОВЛЕНИЕ 3
Обнаружено, что эта проблема не была в Tomcat 7.0.12, 7.0.14, 7.0.16, а началась с 7.00,19.Опубликовано в список рассылки пользователей tomcat.получил ответ, что, возможно, виноват компилятор Eclipse JDT.Проверено, что это действительно так, заменив компилятор в tomcat 7.0.23 / 27 JDT-компилятором tomcat 7.0.16 и LO & BEHOLD, все хорошо.Я планирую написать в команду компилятора Eclipse JDT (если она есть) и опубликовать сообщение об этой ошибке.