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.