java.lang.IllegalStateException: Sicherung für Factory javax.faces.application.ApplicationFactory konnte nicht gefunden werden
Ich bin mit diesem :
- Tomcat 7.0
- JSF 2.0
- JRE 7
aber beim ausführen meiner Bewerbung, bekam ich folgende exception:
java.lang.IllegalStateException: Could not find backup for factory javax.faces.application.ApplicationFactory.
at javax.faces.FactoryFinder$FactoryManager.getFactory(FactoryFinder.java:1011)
at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:343)
at org.apache.myfaces.context.servlet.FacesContextImplBase.getApplication(FacesContextImplBase.java:159)
at org.apache.myfaces.context.servlet.FacesContextImplBase.getELContext(FacesContextImplBase.java:210)
at javax.faces.component.UIViewRoot.setLocale(UIViewRoot.java:1463)
at org.apache.myfaces.webapp.AbstractFacesInitializer._createFacesContext(AbstractFacesInitializer.java:477)
at org.apache.myfaces.webapp.AbstractFacesInitializer.initStartupFacesContext(AbstractFacesInitializer.java:449)
at org.apache.myfaces.webapp.StartupServletContextListener.contextInitialized(StartupServletContextListener.java:113)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4797)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5291)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Irgendwelche Ideen, warum?
Dank,
InformationsquelleAutor der Frage Benjamin Gimet | 2013-09-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dass kann passieren, wenn dein webapp runtime classpath ist verschmutzt mit mehreren JSF-impls/Versionen. Die
org.apache.myfaces
Einträge in der stack-trace sagt, dass Sie mit MyFaces. Dieses problem somit darauf hin, dass Sie habe eine andere JSF-Implementierung wie Mojarra in der webapp runtime classpath befinden, die in Konflikt mit es. Es ist erkennbarjsf-api.jar
oderjsf-impl.jar
oderjavax.faces.jar
. Wenn Sie alle entfernen, dann sollte dieses problem verschwinden.Oder, wenn Sie tatsächlich Gegenaktionen zu verwenden Mojarra statt MyFaces (Sie haben nämlich nicht ausdrücklich die geplanten JSF-impl/version überall auf Ihre Frage, sondern Sie nur allgemein angegeben, die JSF-Spezifikation als "JSF 2.0", also vielleicht haben Sie tatsächlich keine Ahnung haben, was Sie war alle tun), dann sollten Sie das entfernen werden die
myfaces-*.jar
Dateien aus Ihre webapp.Siehe auch:
InformationsquelleAutor der Antwort BalusC
Ergänzung BalusC Antwort, vor kurzem habe ich diese Fehlermeldung, wenn versuchen, eine unabhängige GLAS mit einer Spring-Boot-Anwendung, die JSF als front-end mit Spring-verwaltete beans. Umstellung der Verpackung von JAR-KRIEG hat das problem gelöst.
InformationsquelleAutor der Antwort Cenobyte321