Когда я развернул maven 3.0.3, встроенный webapp в tomcat 7.0.23 на Linux (java 1.6.x), и доступ к нему отправил мои учетные данные на странице входа в систему, я получил следующую ошибку. pom.xml ссылается на сервлет 2.5, jsp 2.1 и JSTL 1.2.
Почему я должен получить эту ошибку? что я могу сделать, чтобы избежать этого?
У меня есть другие файлы .war, развернутые на одном экземпляре tomcat и никогда не сталкивались с этой проблемой в этих приложениях.
Первый JSP (login.jsp), который я сделал http GET, не выдавал ошибку. Проблема с POST с первого JSP на второй 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 из webapp НЕ содержит банки сервлетов, jsp или JSTL. Он содержит множество зависимостей приложений и spring jars (мы используем spring MVC).
ОБНОВЛЕНИЕ 2
Мы не компилируем JSP. Это цель еще на один день.
ОБНОВЛЕНИЕ 3
Обнаружено, что эта проблема не была в tomcat 7.0.12, 7.0.14, 7.0.16, но началась с 7.0.19. Добавлено в список рассылки пользователей tomcat. получил ответ, что это был, возможно, компилятор Eclipse JDT. Проверено, что это действительно так, заменив компилятор в tomcat 7.0.23/27 компилятором Tomcat 7.0.16 JDT и LO и BEHOLD, все хорошо. Я планирую написать команде компилятора Eclipse JDT (если есть) и сообщить об этой ошибке.