Ich versuche, den Tomcat mit JBoss Embedded jpa-Buchungsbeispiel auszuführen. Ich führe den Build aus und verteile das War. Dann erhalte ich den folgenden Fehler:
ERROR \[catalina.core.ContainerBase.\[Catalina\].\[localhost\].\[/jboss-seam-jpa\]\] Error configuring application listener of class com.sun.faces.config.ConfigureListener
java.lang.NoClassDefFoundError: javax/el/CompositeELResolver
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2357)
at java.lang.Class.getConstructor0(Class.java:2671)
at java.lang.Class.newInstance0(Class.java:321)
at java.lang.Class.newInstance(Class.java:303)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3618)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4104
Ich finde diese Klasse existiert in el-api.jar, die nicht in den Klassenpfad ist. Also füge ich el-api.jar zum Verzeichnis WEB-INF/lib hinzu. Dann erhalte ich die folgende Fehlermeldung:
INFO: JSF1048: PostConstruct/PreDestroy annotations present. ManagedBeans methods marked with these annotations will have said annotations processed.
Sep 19, 2008 5:37:50 PM com.sun.faces.config.ConfigureListener installExpressionFactory
SEVERE: Error Instantiating ExpressionFactory
java.lang.ClassNotFoundException: com.sun.el.ExpressionFactoryImpl
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1332)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1181)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:164)
at com.sun.faces.config.ConfigureListener.installExpressionFactory(ConfigureListener.java:1521)
Diese Bibliothek scheint in el-ri.jar oder JSP 2.1 jar zu sein. Mache ich etwas falsch? Gibt es eine Stelle, die erklärt, wie man Seam-Anwendungen unter Tomcat 5.5.x ausführt? Für jede Hilfe bin ich dankbar!