Автор оригинала: mkyong.
Проблема
При развертывании веб-приложения JSF 2.0 в Tomcat 6.0.26 возникает исключение ” JSP-версия контейнера старше 2.1 ” и не удалось запустить сервер Tomcat. Но JSP api v2.1 включен в путь к классам проекта, почему Tomcat все еще говорит, что версия JSP старше 2.1?
javax.servlet.jsp jsp-api 2.1
Вот стеки ошибок…
SEVERE: Critical error during deployment: ... Caused by: com.sun.faces.config.ConfigurationException: It appears the JSP version of the container is older than 2.1 and unable to locate the EL RI expression factory, com.sun.el.ExpressionFactoryImpl. If not using JSP or the EL RI, make sure the context initialization parameter, com.sun.faces.expressionFactory, is properly set.
Решение
Не совсем уверен в основной причине этого, но решение состоит в том, чтобы включить в el-ri.jar библиотека
com.sun.el el-ri 1.0
P.S Это el-ri.jar доступен по умолчанию Центральное хранилище Maven .
Обновлено – 21-10-2010
Это”el-ri.jar “слишком старый, рекомендуется использовать новейший”el-impl-2.2.jar “, из Java.net
org.glassfish.web el-impl 2.2
Оригинал: “https://mkyong.com/jsf2/jsf-2-0-tomcat-it-appears-the-jsp-version-of-the-container-is-older-than-2-1/”