Cuando despliego mi archivo .war en JBoss AS 7.1.1 y llamoJBoss AS 7.1.1 no recoger mi implementación JSF
FacesContext.class.getPackage().getImplementationTitle()
y
FacesContext.class.getPackage().getImplementationVersion()
puedo obtener una versión diferente a continuación, cuando lo despliegue en tomcat.
JBoss: JavaServer Faces JSF API 2.0.1.Final
Tomcat: JSF Mojarra 2.0.6-FCS
Parece JBoss no está recogiendo los JAR correctas que tengo en mi WEB-INF\lib\
. Esto causa un comportamiento diferente en mi sitio web. traté de resolver el problema con
<context-param>
<param-name>org.jboss.jbossfaces.WAR_BUNDLES_JSF_IMPL</param-name>
<param-value>true</param-value>
</context-param>
Pero eso no funcionó. Leo Alternative JSF implementation with JBoss 71 pero aparentemente no está resuelto en 7.1.1.
He añadido jboss-deployment-structure.xml
a WEB-INF\
con el siguiente contenido.
<jboss-deployment-structure>
<deployment>
<exclusions>
<module name="javax.faces.api" slot="main"/>
<module name="com.sun.jsf-impl" slot="main"/>
</exclusions>
<dependencies>
<module name="org.apache.commons.logging" />
<module name="org.apache.commons.collections" />
<module name="org.apache.log4j" />
<module name="org.dom4j" />
<module name="javax.faces.api" slot="1.2"/>
<module name="com.sun.jsf-impl" slot="1.2"/>
</dependencies>
</deployment>
</jboss-deployment-structure>
Pero entonces mi aplicación no está desplegada y me sale el siguiente error en server.log
:
14:06:14,733 SEVERE [javax.enterprise.resource.webcontainer.jsf.config] (MSC service thread 1-4) Critical error during deployment: : com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED! Class org.jboss.as.web.deployment.jsf.JandexAnnotationProvider is not an instance of com.sun.faces.spi.AnnotationProvider
at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:357) [jsf-impl.jar:2.0.6-FCS]
¿Cómo puedo solucionar mi problema?
¿Excluyó JBoss JSF Jars predeterminados en el archivo jboss-deployment-structure? – kosa
Lo intenté, no estoy seguro de cómo, pero agregué el siguiente archivo jboss-deployment-structure.xml a WEB-INF \ Los contenidos que edité en mi mensaje anterior. Pero da un error (también lo agregué a mi pregunta anterior) – roel