I appear to have created this error by insisting upon using Build Paths to switch the output folder from <project-name>/build/classes to <project-name>/WebContent/WEB-INF/classes.
My project name (as appearing below) is dvdcatalog-5 and it is certain
that this class, which comes from myfaces-impl-x.x.x.jar, is not or
should not be missing since I've got this JAR in my project, see Build
Path -> Configure Build Path... -> Libraries -> JSF (Apache
MyFaces)
.
Apr 30, 2010 8:55:24 AM org.apache.catalina.core.AprLifecycleListener init INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Users\russ\dev\downloads\jdk1.6.0_20\bin;.;C:\Windows\Sun\Java\bin;C:\Windows\system32;\ C:\Windows;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;\ C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\TortoiseSVN\bin;C:\Program Files (x86)\QuickTime\QTSystem\;\ C:\Program Files\Intel\DMIX;C:\Users\russ\bin;C:\Program Files (x86)\Vim\vim72;C:\Program Files (x86)\SpringSource\roo-1.0.0.RC4\bin;\ C:\Users\russ\apache-maven-2.2.1\bin;C:\Users\russ\dev\downloads\jdk1.6.0_20\bin Apr 30, 2010 8:55:24 AM org.apache.tomcat.util.digester.SetPropertiesRule begin WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:dvdcatalog-5' \ did not find a matching property. Apr 30, 2010 8:55:24 AM org.apache.coyote.http11.Http11Protocol init INFO: Initializing Coyote HTTP/1.1 on http-8080 Apr 30, 2010 8:55:24 AM org.apache.catalina.startup.Catalina load INFO: Initialization processed in 292 ms Apr 30, 2010 8:55:24 AM org.apache.catalina.core.StandardService start INFO: Starting service Catalina Apr 30, 2010 8:55:24 AM org.apache.catalina.core.StandardEngine start INFO: Starting Servlet Engine: Apache Tomcat/6.0.26 Apr 30, 2010 8:55:24 AM org.apache.catalina.core.StandardContext listenerStart SEVERE: Error configuring application listener of class org.apache.myfaces.webapp.StartupServletContextListener java.lang.ClassNotFoundException: org.apache.myfaces.webapp.StartupServletContextListener at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1516) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1361) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3915) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4467) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) at org.apache.catalina.core.StandardHost.start(StandardHost.java:785) 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:519) at org.apache.catalina.core.StandardServer.start(StandardServer.java:710) at org.apache.catalina.startup.Catalina.start(Catalina.java:581) 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) Apr 30, 2010 8:55:24 AM org.apache.catalina.core.StandardContext listenerStart SEVERE: Skipped installing application listeners due to previous error(s) Apr 30, 2010 8:55:24 AM org.apache.catalina.core.StandardContext start SEVERE: Error listenerStart Apr 30, 2010 8:55:24 AM org.apache.catalina.core.StandardContext start SEVERE: Context [/dvdcatalog-5] startup failed due to previous errors
After this I restored build/classes to the root of my project,
respecified it in Build Path -> Configure Build Path... -> Source
-> Default output folder
and deleted
WebContent/WEB-INF/classes.
Then I refreshed, re-built, deconfigured and reconfigured the Tomcat server, cleaned, republished, etc., bounced Eclipse and more. It still would not work.
What finally did the trick was to drop Eclipse, then relaunch it with the -clean option.