konnte nicht gefunden Factory: javax.Gesichter.- Anwendung.ApplicationFactory
Hallo, ich bin versucht, folgenden Technologien zusammen:
- JSF 2.1.0
- ICEFaces 2.0.2, die entsprechend Ihrer Dokumentation, arbeitet gut mit JSF 2.1.x
- Tomcat 6
meine web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<display-name>appName</display-name>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<listener>
<listener-class>
org.springframework.web.context.request.RequestContextListener
</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:META-INF/spring/applicationContext.xml
</param-value>
</context-param>
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
<welcome-file-list>
<welcome-file>/</welcome-file>
</welcome-file-list>
<context-param>
<param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
<param-value>resources.application</param-value>
</context-param>
<listener>
<listener-class>com.sun.faces.config.ConfigureListener</listener-class>
</listener>
<context-param>
<param-name>javax.faces.FACELETS_SKIP_COMMENTS</param-name>
<param-value>true</param-value>
</context-param>
<servlet>
<servlet-name>Resource Servlet</servlet-name>
<servlet-class>com.icesoft.faces.webapp.CompatResourceServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Resource Servlet</servlet-name>
<url-pattern>/xmlhttp/*</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
</web-app>
aber beim ausführen meiner Bewerbung, bekam ich folgende exception:
SEVERE: Unexpected exception when attempting to tear down the Mojarra runtime
java.lang.IllegalStateException: Application was not properly initialized at startup, could not find Factory: javax.faces.application.ApplicationFactory
at javax.faces.FactoryFinder$FactoryManager.getFactory(FactoryFinder.java:815)
at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:317)
at com.sun.faces.config.InitFacesContext.getApplication(InitFacesContext.java:112)
at com.sun.faces.config.ConfigureListener.contextDestroyed(ConfigureListener.java:329)
at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4245)
at org.apache.catalina.core.StandardContext.stop(StandardContext.java:4886)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4750)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
at org.apache.catalina.core.StandardService.start(StandardService.java:525)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
irgendwelche Ideen, warum ?
InformationsquelleAutor Mahmoud Saleh | 2011-10-31
Du musst angemeldet sein, um einen Kommentar abzugeben.
JSF 2.1 erfordert einem Servlet-3.0-kompatibel-container, noch Tomcat 6 ist nur ein Servlet 2.5 kompatibel container. Sie haben 2 Optionen:
web.xml
root-Erklärung entsprechen, Servlet 3.0).Wenn Sie option 2 auswählen (Upgrade auf Tomcat 7.0), dann sollten Sie ein upgrade Mojarra 2.1.0 zu mindestens Mojarra 2.1.1 (es ist derzeit bereits unter 2.1.3). Dies ist erforderlich, da Mojarra 2.1.0 enthält einen Fehler in der annotation-scanner, der macht es unvereinbar mit Tomcat und Jetty.
Siehe auch:
Als neue features, überprüfen Sie diese: javaserverfaces.java.net/nonav/rlnotes/2.1.0/whatsnew.html Als für die Stabilität, die beiden sind die neusten stabilen Versionen.
InformationsquelleAutor BalusC
Ich löste dieses problem mithilfe von zwei Ansätzen :
1.Zwei verschiedene version jsf entfernt wurden (zB. jsf-1.x oder jsf2.x) oder in zwei unterschiedlichen jsf-Implementierung wurden entfernt (mojarra jsf oder myfaces) aus dem Projekt .Und ich habe nur eine Implementierung entweder mojarra (oder myfaces), aber nicht beide .Ich hatte gleichen im Falle von jsf andere version, die Gläser (ich.e jsf-2.x Gläser verwendet wurden)nicht jsf-1.x.
2.Entfernen Sie die @ManagedBean annotation von Schnittstellen.
InformationsquelleAutor ashu17188