según este link >> bastaba con copiar el directorio actual de jsf en deployers/jsf.deployer dentro del servidor, llamarle Mojarra-2.1.1,
reemplazar los jars jsf-impl.jar y jsf-api.jar por los nuevos (cuidado, puede que no se llamen así), y luego referenciar esta nueva carpeta en el web.xml:
<context-param> <param-name>org.jboss.jbossfaces.JSF_CONFIG_NAME</param-name> <param-value>Mojarra-2.1.1</param-value> </context-param>
Ésto último debe coincidir con una entrada en META-INF/jsf-integration-deployer-jboss-beans.xml, la cual es una carpeta del servidor, no de la aplicación, dentro de la misma jsf.deployer
<entry> <key>Mojarra-2.1.1</key> <value>${jboss.server.home.url}deployers/jsf.deployer/Mojarra-2.1.1</value> </entry>
esta entrada va junto a las demás de jsf dentro de
<property name="jsfConfigurations"> <map keyClass="java.lang.String" valueClass="java.lang.String"> ... </map> </property>
Sin embargo ésto no basta, ya que al inicializar la aplicación nos encontramos con un
ClassNotFoundException: javax.faces.webapp.FacesServlet
Esto se debe a que los jars no están desplegados, si seguimos examinando el xml veremos que para los otras entradas se especifica un tag bean, así es que agregamos el nuestro:
<bean name="JSFUrlIntegrationDeployer-21"> <property name="JSFConfigName"> <value>Mojarra-2.1.1</value> </property> <property name="JSFImplManagementDeployer"> <inject bean="JSFImplManagementDeployer"/> </property> </bean>
y voilà!
(ahora veo que estaba explicado en la documentación >>)