JSF 2.2.5 ocorre erro

Pessoal, boa tarde…

Estou iniciando o desenvolvimento web com JSF e Primefaces.
Consegui criar uma projeto básico para teste usando: Eclipse Juno, TonCat 7, JSDK 1.6, JRE 7, JSF 2.0 e PrimeFaces 3.5. Nesta configuração tive alguns problemas mas esta funcionando.

O problema é quando troco a biblioteca do JSF 2.0 para JSF 2.2.5, segue o erro abaixo.

Mai 02, 2014 4:32:12 PM org.apache.catalina.core.AprLifecycleListener init
Informações: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files (x86)\Java\jre7\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files (x86)/Java/jre7/bin/client;C:/Program Files (x86)/Java/jre7/bin;C:/Program Files (x86)/Java/jre7/lib/i386;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files (x86)\Java\jre7\bin;C:\Eclipse_Juno;;.
Mai 02, 2014 4:32:12 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
Advertência: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:JSFSessao01' did not find a matching property.
Mai 02, 2014 4:32:12 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
Advertência: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:JSFSessao02' did not find a matching property.
Mai 02, 2014 4:32:12 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
Advertência: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:JSFSessao03' did not find a matching property.
Mai 02, 2014 4:32:13 PM org.apache.coyote.AbstractProtocol init
Informações: Initializing ProtocolHandler ["http-bio-8080"]
Mai 02, 2014 4:32:13 PM org.apache.coyote.AbstractProtocol init
Informações: Initializing ProtocolHandler ["ajp-bio-8009"]
Mai 02, 2014 4:32:13 PM org.apache.catalina.startup.Catalina load
Informações: Initialization processed in 510 ms
Mai 02, 2014 4:32:13 PM org.apache.catalina.core.StandardService startInternal
Informações: Starting service Catalina
Mai 02, 2014 4:32:13 PM org.apache.catalina.core.StandardEngine startInternal
Informações: Starting Servlet Engine: Apache Tomcat/7.0.27
Mai 02, 2014 4:32:13 PM org.apache.catalina.util.SessionIdGenerator createSecureRandom
Informações: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [125] milliseconds.
Mai 02, 2014 4:32:13 PM org.apache.catalina.core.StandardContext addApplicationListener
Informações: The listener "com.sun.faces.config.ConfigureListener" is already configured for this context. The duplicate definition has been ignored.
Mai 02, 2014 4:32:13 PM com.sun.faces.config.ConfigureListener contextInitialized
Informações: Inicializando Mojarra 2.1.0 (FCS FCS) para o contexto '/JSFSessao01'
Mai 02, 2014 4:32:13 PM com.sun.faces.spi.InjectionProviderFactory createInstance
Informações: JSF1048: Anotações PostConstruct/PreDestroy presentes.  Os métodos ManagedBeans marcados com essas anotações informarão as anotações processadas.
Mai 02, 2014 4:32:14 PM org.primefaces.webapp.PostConstructApplicationEventListener processEvent
Informações: Running on PrimeFaces 3.5
Mai 02, 2014 4:32:14 PM org.apache.catalina.startup.TaglibUriRule body
Informações: TLD skipped. URI: 
        http://java.sun.com/jsf/html
     is already defined
Mai 02, 2014 4:32:14 PM org.apache.catalina.startup.TaglibUriRule body
Informações: TLD skipped. URI: http://java.sun.com/jsf/core is already defined
Mai 02, 2014 4:32:14 PM org.apache.catalina.startup.TaglibUriRule body
Informações: TLD skipped. URI: http://mojarra.dev.java.net/mojarra_ext is already defined
Mai 02, 2014 4:32:14 PM org.apache.catalina.core.StandardContext addApplicationListener
Informações: The listener "com.sun.faces.config.ConfigureListener" is already configured for this context. The duplicate definition has been ignored.
Mai 02, 2014 4:32:14 PM com.sun.faces.config.ConfigureListener contextInitialized
Informações: Inicializando Mojarra 2.1.0 (FCS FCS) para o contexto '/JSFSessao03'
Mai 02, 2014 4:32:14 PM com.sun.faces.spi.InjectionProviderFactory createInstance
Informações: JSF1048: Anotações PostConstruct/PreDestroy presentes.  Os métodos ManagedBeans marcados com essas anotações informarão as anotações processadas.
Mai 02, 2014 4:32:15 PM com.sun.faces.config.ConfigureListener contextInitialized
Grave: Critical error during deployment: 
com.sun.faces.config.ConfigurationException: 
  Source Document: jar:file:/C:/Aplicativos/Web-jsf/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/JSFSessao03/WEB-INF/lib/primefaces-3.5.jar!/META-INF/faces-config.xml
  Cause: Class 'org.primefaces.component.fileupload.FileUploadRenderer' is missing a runtime dependency: java.lang.NoClassDefFoundError: org/apache/commons/fileupload/FileItem
	at com.sun.faces.config.processor.AbstractConfigProcessor.createInstance(AbstractConfigProcessor.java:339)
	at com.sun.faces.config.processor.RenderKitConfigProcessor.addRenderers(RenderKitConfigProcessor.java:313)
	at com.sun.faces.config.processor.RenderKitConfigProcessor.process(RenderKitConfigProcessor.java:179)
	at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:152)
	at com.sun.faces.config.processor.ManagedBeanConfigProcessor.process(ManagedBeanConfigProcessor.java:270)
	at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:152)
	at com.sun.faces.config.processor.ValidatorConfigProcessor.process(ValidatorConfigProcessor.java:120)
	at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:152)
	at com.sun.faces.config.processor.ConverterConfigProcessor.process(ConverterConfigProcessor.java:126)
	at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:152)
	at com.sun.faces.config.processor.ComponentConfigProcessor.process(ComponentConfigProcessor.java:117)
	at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:152)
	at com.sun.faces.config.processor.ApplicationConfigProcessor.process(ApplicationConfigProcessor.java:343)
	at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:152)
	at com.sun.faces.config.processor.LifecycleConfigProcessor.process(LifecycleConfigProcessor.java:116)
	at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:152)
	at com.sun.faces.config.processor.FactoryConfigProcessor.process(FactoryConfigProcessor.java:239)
	at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:435)
	at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:214)
	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4779)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5273)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1566)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1556)
	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)
Caused by: java.lang.NoClassDefFoundError: org/apache/commons/fileupload/FileItem
	at java.lang.Class.getDeclaredMethods0(Native Method)
	at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
	at java.lang.Class.getDeclaredMethods(Unknown Source)
	at com.sun.faces.util.Util.classHasAnnotations(Util.java:1005)
	at com.sun.faces.application.ApplicationInstanceFactoryMetadataMap.onPut(ApplicationInstanceFactoryMetadataMap.java:75)
	at com.sun.faces.application.ApplicationInstanceFactoryMetadataMap.onPut(ApplicationInstanceFactoryMetadataMap.java:43)
	at com.sun.faces.util.MetadataWrapperMap.put(MetadataWrapperMap.java:91)
	at com.sun.faces.config.processor.AbstractConfigProcessor.loadClass(AbstractConfigProcessor.java:378)
	at com.sun.faces.config.processor.AbstractConfigProcessor.createInstance(AbstractConfigProcessor.java:278)
	... 27 more
Caused by: java.lang.ClassNotFoundException: org.apache.commons.fileupload.FileItem
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1711)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1556)
	... 36 more

Mai 02, 2014 4:32:15 PM org.apache.catalina.core.StandardContext listenerStart
Grave: Exception sending context initialized event to listener instance of class com.sun.faces.config.ConfigureListener
java.lang.RuntimeException: com.sun.faces.config.ConfigurationException: 
  Source Document: jar:file:/C:/Aplicativos/Web-jsf/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/JSFSessao03/WEB-INF/lib/primefaces-3.5.jar!/META-INF/faces-config.xml
  Cause: Class 'org.primefaces.component.fileupload.FileUploadRenderer' is missing a runtime dependency: java.lang.NoClassDefFoundError: org/apache/commons/fileupload/FileItem
	at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:273)
	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4779)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5273)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1566)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1556)
	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)
Caused by: com.sun.faces.config.ConfigurationException: 
  Source Document: jar:file:/C:/Aplicativos/Web-jsf/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/JSFSessao03/WEB-INF/lib/primefaces-3.5.jar!/META-INF/faces-config.xml
  Cause: Class 'org.primefaces.component.fileupload.FileUploadRenderer' is missing a runtime dependency: java.lang.NoClassDefFoundError: org/apache/commons/fileupload/FileItem
	at com.sun.faces.config.processor.AbstractConfigProcessor.createInstance(AbstractConfigProcessor.java:339)
	at com.sun.faces.config.processor.RenderKitConfigProcessor.addRenderers(RenderKitConfigProcessor.java:313)
	at com.sun.faces.config.processor.RenderKitConfigProcessor.process(RenderKitConfigProcessor.java:179)
	at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:152)
	at com.sun.faces.config.processor.ManagedBeanConfigProcessor.process(ManagedBeanConfigProcessor.java:270)
	at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:152)
	at com.sun.faces.config.processor.ValidatorConfigProcessor.process(ValidatorConfigProcessor.java:120)
	at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:152)
	at com.sun.faces.config.processor.ConverterConfigProcessor.process(ConverterConfigProcessor.java:126)
	at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:152)
	at com.sun.faces.config.processor.ComponentConfigProcessor.process(ComponentConfigProcessor.java:117)
	at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:152)
	at com.sun.faces.config.processor.ApplicationConfigProcessor.process(ApplicationConfigProcessor.java:343)
	at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:152)
	at com.sun.faces.config.processor.LifecycleConfigProcessor.process(LifecycleConfigProcessor.java:116)
	at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:152)
	at com.sun.faces.config.processor.FactoryConfigProcessor.process(FactoryConfigProcessor.java:239)
	at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:435)
	at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:214)
	... 9 more
Caused by: java.lang.NoClassDefFoundError: org/apache/commons/fileupload/FileItem
	at java.lang.Class.getDeclaredMethods0(Native Method)
	at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
	at java.lang.Class.getDeclaredMethods(Unknown Source)
	at com.sun.faces.util.Util.classHasAnnotations(Util.java:1005)
	at com.sun.faces.application.ApplicationInstanceFactoryMetadataMap.onPut(ApplicationInstanceFactoryMetadataMap.java:75)
	at com.sun.faces.application.ApplicationInstanceFactoryMetadataMap.onPut(ApplicationInstanceFactoryMetadataMap.java:43)
	at com.sun.faces.util.MetadataWrapperMap.put(MetadataWrapperMap.java:91)
	at com.sun.faces.config.processor.AbstractConfigProcessor.loadClass(AbstractConfigProcessor.java:378)
	at com.sun.faces.config.processor.AbstractConfigProcessor.createInstance(AbstractConfigProcessor.java:278)
	... 27 more
Caused by: java.lang.ClassNotFoundException: org.apache.commons.fileupload.FileItem
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1711)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1556)
	... 36 more

Mai 02, 2014 4:32:15 PM org.apache.catalina.core.StandardContext startInternal
Grave: Error listenerStart
Mai 02, 2014 4:32:15 PM org.apache.catalina.core.StandardContext startInternal
Grave: Context [/JSFSessao03] startup failed due to previous errors
Mai 02, 2014 4:32:15 PM javax.faces.FactoryFinder$FactoryManager getFactory
Grave: O aplicativo não foi iniciado corretamente na inicialização. Não foi possível encontrar Fábrica: javax.faces.application.ApplicationFactory
Mai 02, 2014 4:32:15 PM com.sun.faces.config.ConfigureListener contextDestroyed
Grave: Unexpected exception when attempting to tear down the Mojarra runtime
java.util.MissingResourceException: Can't find resource for bundle java.util.PropertyResourceBundle, key severe.no_factory_backup_failed
	at java.util.ResourceBundle.getObject(Unknown Source)
	at java.util.ResourceBundle.getObject(Unknown Source)
	at java.util.ResourceBundle.getString(Unknown Source)
	at javax.faces.FactoryFinder$FactoryManager.getFactory(FactoryFinder.java:1133)
	at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:379)
	at com.sun.faces.config.InitFacesContext.getApplication(InitFacesContext.java:142)
	at com.sun.faces.config.ConfigureListener.contextDestroyed(ConfigureListener.java:310)
	at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4819)
	at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5466)
	at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:160)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1566)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1556)
	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)

Mai 02, 2014 4:32:15 PM org.apache.catalina.core.StandardContext addApplicationListener
Informações: The listener "com.sun.faces.config.ConfigureListener" is already configured for this context. The duplicate definition has been ignored.
Mai 02, 2014 4:32:15 PM com.sun.faces.config.ConfigureListener contextInitialized
Informações: Inicializando Mojarra 2.1.0 (FCS FCS) para o contexto '/JSFSessao02'
Mai 02, 2014 4:32:15 PM com.sun.faces.spi.InjectionProviderFactory createInstance
Informações: JSF1048: Anotações PostConstruct/PreDestroy presentes.  Os métodos ManagedBeans marcados com essas anotações informarão as anotações processadas.
Mai 02, 2014 4:32:16 PM org.primefaces.webapp.PostConstructApplicationEventListener processEvent
Informações: Running on PrimeFaces 3.5
Mai 02, 2014 4:32:16 PM org.apache.coyote.AbstractProtocol start
Informações: Starting ProtocolHandler ["http-bio-8080"]
Mai 02, 2014 4:32:16 PM org.apache.coyote.AbstractProtocol start
Informações: Starting ProtocolHandler ["ajp-bio-8009"]
Mai 02, 2014 4:32:16 PM org.apache.catalina.startup.Catalina start
Informações: Server startup in 3594 ms

Outro coisa que eu não consegui entender é que o web.xml é sempre criado com:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
         xmlns="http://java.sun.com/xml/ns/javaee" 
         xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 
         id="WebApp_ID" version="3.0">

Nesta configuração eu toda vez eu tenho que trocar para:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
         xmlns="http://java.sun.com/xml/ns/javaee" 
         xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_[b]2_5[/b].xsd" 
         id="WebApp_ID" version="[b]2.5[/b]">

Agradeço a todos que puderam contribuir…