ElException при переходе с tomcat 8.0 на 8.5

В настоящее время мы переносим наши приложения с tomcat 8.0 на tomcat 8.5.

В этих приложениях у нас есть очень простое приложение Spring JEE, которое использует JSP и контроллеры Spring.

При развертывании на Tomcat 8.0 страницы jsp обслуживаются правильно, а на tomcat 8.5 выдает ошибку:

javax.el.ELException: The class [com.orange.gvw.acd.controllers.ApiConnectionController] could not be imported as it could not be found
javax.el.ImportHandler.importClass(ImportHandler.java:114)
org.apache.jasper.runtime.PageContextImpl.getELContext(PageContextImpl.java:962)
org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:935)
org.apache.jsp.WEB_002dINF.views.manageConnections_jsp._jspService(manageConnections_jsp.java:192)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:443)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)
javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:168)
org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:303)
org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1243)
org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1027)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:971)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:965)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:856)
javax.servlet.http.HttpServlet.service(HttpServlet.java:618)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:841)
javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

Мы обнаружили, что эта проблема возникает, когда наша страница jsp включает el, например. ${тото}. Когда мы удаляем этот эль, он работает.

Есть ли что-то, что нужно исправить или настроить, чтобы обслуживать jsp, который включает el ?


person gfyhser    schedule 22.02.2018    source источник
comment
Сообщение явное: класс com.orange.gvw.acd.controllers.ApiConnectionController не найден.   -  person Maurice Perry    schedule 22.02.2018
comment
Верно, но дело в том, что этот контроллер действительно загружен и его можно найти. Более того, когда мы используем jsp без el, не возникает никакой ошибки, связанной с контроллером ApiConnectionController.   -  person gfyhser    schedule 22.02.2018


Ответы (1)


Отвечая самому себе, проблема была на стороне платформы: у нас был установлен пакет libservlet3.1-java версии 8.0.14-1+deb8u11, тогда как версия 8.5.14-1~bpo8+1 требовалась для tomcat 8.5.

person Community    schedule 22.02.2018