我正在尝试部署一个只有一个webapp(PartyWeb)的EAR。这个webapp在其WEB-INF / lib文件夹中有myfaces-api-2.0.1和myfaces-impl-2.0.1 jar。我使用Weblogic 12c作为我的AS。
虽然我不是Weblogic的专家,但我认为weblogic捆绑了自己的JSF实现。因此,这可能会导致一些问题。
经过一些googleing,我开始知道通过在weblogic-application.xml中使用prefer-application-resources和prefer-application-packages,我们可以强制weblogic加载我的应用程序提供的jsf类。虽然这样做后我遇到了以下问题,
Jul 14, 2014 6:22:40 PM GMT+05:30> <Error> <javax.faces> <BEA-000000> <Application was not properly initialized at startup, could not find Factory:
javax.faces.applica tion.ApplicationFactory. Attempting to find backup.> <Jul 14, 2014 6:22:40 PM GMT+05:30> <Warning> <HTTP> <BEA-101162> <User defined listener org.apache.myfaces.webapp.StartupServletContextListener failed:
java.lang.Illeg alStateException: Could not find backup for factory javax.faces.application.ApplicationFactory. . java.lang.IllegalStateException: Could not find backup for factory javax.faces.application.ApplicationFactory.
at javax.faces.FactoryFinder$FactoryManager.getFactory(FactoryFinder.java:1008)
at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:343)
at org.apache.myfaces.context.servlet.FacesContextImplBase.getApplication(FacesContextImplBase.java:131)
at org.apache.myfaces.context.servlet.FacesContextImplBase.getELContext(FacesContextImplBase.java:180)
at javax.faces.component.UIViewRoot.setLocale(UIViewRoot.java:1463)
Truncated. see log file for complete stacktrace
> Jul 14, 2014 6:22:40 PM GMT+05:30> <Error> <javax.faces> <BEA-000000> <Application was not properly initialized at startup, could not find Factory:
javax.faces.context .FacesContextFactory. Attempting to find backup.> <Jul 14, 2014 6:22:40 PM GMT+05:30> <Error> <HTTP> <BEA-101216> <Servlet: "Faces Servlet" failed to preload on startup in Web application: "PartyWeb". java.lang.IllegalStateException: Could not find backup for factory javax.faces.context.FacesContextFactory.
at javax.faces.FactoryFinder$FactoryManager.getFactory(FactoryFinder.java:1008)
at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:343)
at javax.faces.webapp.FacesServlet.init(FacesServlet.java:302)
at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:299)
at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:250)
Truncated. see log file for complete stacktrace
> <Jul 14, 2014 6:22:40 PM GMT+05:30> <Error> <javax.faces> <BEA-000000> <Application was not properly initialized at startup, could not find Factory:
javax.faces.applica tion.ApplicationFactory. Attempting to find backup.> <Jul 14, 2014 6:22:40 PM GMT+05:30> <Warning> <HTTP> <BEA-101162> <User defined listener org.apache.myfaces.webapp.StartupServletContextListener failed:
java.lang.Illeg alStateException: Could not find backup for factory javax.faces.application.ApplicationFactory. . java.lang.IllegalStateException: Could not find backup for factory javax.faces.application.ApplicationFactory.
at javax.faces.FactoryFinder$FactoryManager.getFactory(FactoryFinder.java:1008)
at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:343)
at org.apache.myfaces.context.servlet.FacesContextImplBase.getApplication(FacesContextImplBase.java:131)
at org.apache.myfaces.context.servlet.FacesContextImplBase.getELContext(FacesContextImplBase.java:180)
at javax.faces.component.UIViewRoot.setLocale(UIViewRoot.java:1463)
Truncated. see log file for complete stacktrace
我已经花了一周时间。需要快速解决此问题。
如有任何帮助,我们将不胜感激
谢谢,
Avijit