运行TomEE plus jsf示例

运行TomEE plus jsf示例,jsf,myfaces,apache-tomee,Jsf,Myfaces,Apache Tomee,在提取TomEE plus(apache-TomEE-1.0.0-plus.zip)并构建jsf示例(在examples-4.0.0-src.zip\webapps\jsf上)之后,我在catalina.*.log上遇到以下错误,并显示以下消息: SEVERE: An error occured while initializing MyFaces: Class org.apache.openejb.jsf.CustomApplicationFactory is no javax.faces.a

在提取TomEE plus(apache-TomEE-1.0.0-plus.zip)并构建jsf示例(在examples-4.0.0-src.zip\webapps\jsf上)之后,我在catalina.*.log上遇到以下错误,并显示以下消息:

SEVERE: An error occured while initializing MyFaces: Class org.apache.openejb.jsf.CustomApplicationFactory is no javax.faces.application.ApplicationFactory
java.lang.IllegalArgumentException: Class org.apache.openejb.jsf.CustomApplicationFactory is no javax.faces.application.ApplicationFactory
    at javax.faces.FactoryFinder.newFactoryInstance(FactoryFinder.java:128)
    at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:107)
    at org.apache.myfaces.config.FacesConfigurator.configureApplication(FacesConfigurator.java:598)
    at org.apache.myfaces.config.FacesConfigurator.configure(FacesConfigurator.java:276)
    at org.apache.myfaces.webapp.AbstractFacesInitializer.buildConfiguration(AbstractFacesInitializer.java:131)
    at org.apache.myfaces.webapp.Jsp21FacesInitializer.initContainerIntegration(Jsp21FacesInitializer.java:64)
    at org.apache.myfaces.webapp.AbstractFacesInitializer.initFaces(AbstractFacesInitializer.java:83)
    at org.apache.myfaces.webapp.StartupServletContextListener.contextInitialized(StartupServletContextListener.java:58)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4779)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5273)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:895)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:871)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615)
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:962)
    at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1603)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:722)

我是唯一一个犯这个错误的人吗?有解决方案或解决办法吗?

我在TomEE的论坛上发布了同样的问题: 得到了很好的回答。下面是在TomEE上运行JSF和CDI的步骤

  • TomEE以前在版本1上有一个bug。现在已经修好了。这可能导致了那个错误
  • 请查看TomEE的最新版本,以克服此问题:
  • 为了在TomEE上运行带有cdi的JSF示例:
    • 签出最新示例版本(SVN签出自)
    • 在上构建项目(Maven)
    • 在最新的TomEE版本上运行moviefun示例(运行后导航到JSF链接)
  • 顺便说一下:
    一个稳定版本的TomEE将于今年9月发布。这可能就解决了这个问题。

    您是否每晚都尝试使用TomEE 1.1?我的印象是Tomee1.0有一些严重的JSF相关的bug,我试过了。我得到
    org.apache.catalina.core.StandardContext listenerStart严重:异常将上下文初始化事件发送到类org.apache.myfaces.webapp.StartupServletContextListener java.lang.VerifyError的侦听器实例:(类:org/apache/webbeans/jsf/OwbApplicationFactory,方法:setApplication签名:(Ljavax/faces/application/application;)V)putfield/putstatic中的类型不正确