Hi,
I tried to update my webApp from MyFaces 1.1.6, Tomahawk 1.1.7 and RichFaces
3.1.5 to JSF 1.2 compliant version.
Now the app does not start anymore and I get following exception on startup:
INFO: Starting Servlet Engine: Apache Tomcat/6.0.18
07.12.2009 17:58:49 org.apache.catalina.core.StandardContext
addApplicationListener
INFO: The listener "org.apache.myfaces.webapp.StartupServletContextListener" is
already configured for this context. The duplicate definition has been ignored.
log4j:WARN No appenders could be found for logger
(org.apache.myfaces.webapp.StartupServletContextListener).
log4j:WARN Please initialize the log4j system properly.
07.12.2009 17:58:50 org.apache.catalina.core.ApplicationContext log
SCHWERWIEGEND: StandardWrapper.Throwable
java.lang.IllegalStateException: No Factories configured for this Application.
This happens if the faces-initialization does not work at all - make sure that
you properly include all configuration settings necessary for a basic faces
application and that all the necessary libs are included. Also check the
logging output of your web application and your container for any exceptions!
If you did that and find nothing, the mistake might be due to the fact that you
use some special web-containers which do not support registering
context-listeners via TLD files and a context listener is not setup in your
web.xml.
A typical config looks like this;
<listener>
<listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
</listener>
at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:106)
at javax.faces.webapp.FacesServlet.init(FacesServlet.java:132)
at
com.recommind.litigation.client.web.servlets.FacesServletWrapper.init(FacesServletWrapper.java:73)
at
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1172)
at
org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:992)
at
org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4058)
at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4371)
at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at
org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at
org.apache.catalina.core.StandardService.start(StandardService.java:516)
at
org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
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:288)
at
org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
07.12.2009 17:58:50 org.apache.catalina.core.StandardContext loadOnStartup
SCHWERWIEGEND: Servlet /foo threw load() exception
What I did:
1) Updated myFaces jars from 1.1.6 to 1.2.8 (api and impl)
2) updated tomahawk 1.1.7 to tomahawk12-1.1.9
3) removed tomahawk sandbox 1.1.7
4) updated richfaces from 3.1.5 to 3.3.2 (api, impl and ui)
5) updated jstl-1.1.0.jar to jstl-1.2.jar and removed standard.jar
6) deleted work folder of the webApp
I did not change web.xml or faces-config. Tomcat version is 6.0.18.
Any ideas where to look now?
Michael