JSF使用時、Tomcatの起動で落ちる
[症状]
JSF1.2使用時、Tomcat起動時に以下のExceptionが発生
情報: サービス Catalina を起動します 2008/01/10 15:53:19 org.apache.catalina.core.StandardEngine start 情報: Starting Servlet Engine: Apache Tomcat/5.5.25 2008/01/10 15:53:19 org.apache.catalina.core.StandardHost start 情報: XML検証は無効です 2008/01/10 15:53:20 org.apache.catalina.core.StandardContext listenerStart 致命的: クラス |CONFIG_LISTEN_CLASS| のアプリケーションリスナの設定中にエラーが発生しました java.lang.ClassNotFoundException: |CONFIG_LISTEN_CLASS| at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1362) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1208) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3712) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4216) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014) at org.apache.catalina.core.StandardHost.start(StandardHost.java:736) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) at org.apache.catalina.core.StandardService.start(StandardService.java:448) at org.apache.catalina.core.StandardServer.start(StandardServer.java:700) at org.apache.catalina.startup.Catalina.start(Catalina.java:552) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433) 2008/01/10 15:53:20 org.apache.catalina.core.StandardContext listenerStart 致命的: クラス com.sun.faces.config.GlassFishConfigureListener のアプリケーションリスナの設定中にエラーが発生しました java.lang.NoClassDefFoundError: javax/el/ExpressionFactory at java.lang.Class.getDeclaredConstructors0(Native Method) at java.lang.Class.privateGetDeclaredConstructors(Class.java:2357) at java.lang.Class.getConstructor0(Class.java:2671)
[エラーの発生原因(推測)と対応策]
JSF1.2 + Tomcat5.5の場合に発生します。
Tomcat5.5がJSF1.2(JSP2.1準拠)に対応していないと思われるので、JSF1.1を使用する。