Seam 2.0.2sp1应用程序可以在带有JBoss Embedded的Tomcat 5.5.9上运行吗?

时间:2020-03-06 14:28:24  来源:igfitidea点击:

我正在尝试使用JBoss Embedded jpa预订示例来运行Tomcat。我运行构建并部署战争。然后,我得到以下错误:

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

我发现该类存在于类路径中不存在的el-api.jar中。因此,我将el-api.jar添加到WEB-INF / lib目录。然后,我得到以下错误:

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)

该库似乎位于el-ri.jar或者JSP 2.1 jar中。难道我做错了什么?是否有一个地方可以解释如何在tomcat 5.5.x上运行接缝应用程序?任何帮助是极大的赞赏!

解决方案

我们是否看过文档,在www.seamframework.org的论坛上以及在www.jboss.org的旧论坛上也有一些不错的信息。

我有这个工作。我在seam / examples / jpa示例下运行了ant tomcat55. 这包括所需的el-.jar。然后,我运行了" ant clean"和" ant jboss-embeded",并手动从tomcat55 make的所有el-.jars中复制了它们。这已经超过了我上面的问题。现在,我可以使用嵌入式JBoss启动tomcat 5.5.9. 我现在可以毫无问题地运行预订示例。