【问题标题】:Running TomEE plus jsf Examples运行 TomEE plus jsf 示例
【发布时间】:2012-07-28 10:57:33
【问题描述】:

在提取 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 1.1?我的印象是 TomEE 1.0 有一些严重的 JSF 相关错误。
  • 刚刚试过。我收到org.apache.catalina.core.StandardContext listenerStart SEVERE: Exception sending context initialized event to listener instance of class org.apache.myfaces.webapp.StartupServletContextListener java.lang.VerifyError: (class: org/apache/webbeans/jsf/OwbApplicationFactory, method: setApplication signature: (Ljavax/faces/application/Application;)V) Bad type in putfield/putstatic

标签: jsf myfaces apache-tomee


【解决方案1】:

我在 TomEE 的论坛上发布了同样的问题: http://openejb.979440.n4.nabble.com/Running-TomEE-plus-jsf-Examples-Fails-td4656561.html 得到了很好的答案。以下是在 TomEE 上运行 JSF 和 CDI 的步骤。

  1. TomEE 曾经在版本 1 上存在错误。现在已修复。这可能导致了该错误。
  2. 通过查看最新版本的 TomEE 来解决这个问题: http://openejb.apache.org/builds.html
  3. 为了在 TomEE 上使用 cdi 运行 JSF 示例:

顺便说一句: TomEE 的稳定版本将于今年 9 月发布。这可能会解决问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-12
    • 1970-01-01
    • 1970-01-01
    • 2013-05-10
    • 2014-04-30
    • 2011-09-15
    • 2023-04-01
    • 2019-06-10
    相关资源
    最近更新 更多