JSF 2.0 + Tomcat: похоже, что JSP-версия контейнера старше 2.1 ...
проблема
При развертывании веб-приложения JSF 2.0 в Tomcat 6.0.26 возникает исключение «JSP version of the container is older than 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 This el-ri.jar is available at the default Maven central repository.
Note
JSF 2.0 released note не упомянул об этой библиотеке зависимостейel-ri.jar, это странно.
Обновлено - 21-10-2010
Этот el-ri.jar слишком старый, рекомендуется использовать последнюю версию el-impl-2.2.jar изJava.net
org.glassfish.web el-impl 2.2