JSF 2.0 Tomcat:JSPバージョンのコンテナが2.1より古いようです…​

JSF 2.0 + Tomcat:コンテナのJSPバージョンは2.1より古いようです…

問題

JSF 2.0WebアプリケーションをTomcat6.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」は古すぎるため、Java.netの最新の「el-impl-2.2.jar」を使用することをお勧めします

     
      org.glassfish.web
      el-impl
      2.2