2012-07-28 75 views
1

解壓縮TomEE-plus(apache-tomee-1.0.0-plus.zip)並構建jsf示例(在examples-4.0.0-src.zip \ webapps \ jsf上)後,我來到橫跨在catalina.*.log以下消息出現以下錯誤:運行TomEE plus jsf示例

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) 

我是唯一一個誰得到這個錯誤?有解決方案還是解決方法?

+0

你每晚試穿TomEE 1.1嗎?我的印象是,TomEE 1.0有一些嚴重的JSF相關錯誤。 – 2012-07-28 11:15:00

+0

剛剛嘗試過。我得到'org.apache.catalina.core.StandardContext listenerStart SEVERE:異常發送上下文初始化事件到類的監聽器實例org.apache.myfaces.webapp.StartupServletContextListener java.lang.VerifyError:(class:org/apache/webbeans/jsf/OwbApplicationFactory,方法:setApplication簽名:(Ljavax/faces/application/Application;)V)Putfield/putstatic中的錯誤類型 – Daniel 2012-07-28 12:15:48

回答

0

我在TomEE的論壇上發佈了相同的問題: http://openejb.979440.n4.nabble.com/Running-TomEE-plus-jsf-Examples-Fails-td4656561.html並且得到了很好的答案。以下是在TomEE上運行JSF & CDI的步驟。

  1. TomEE曾經在版本1上有一個bug。現在已經修復了。這可能導致了這個錯誤。
  2. 克服檢查出的最新版本TomEE的這個問題: http://openejb.apache.org/builds.html
  3. 爲了與CDI上TomEE運行JSF例如:

順便說一句: TomEE的穩定版本即將發佈今年九月。這可能會解決這個問題。