2012-02-17 15 views

Respuesta

12

La información de versión de implementación JSF exacta está disponible en el archivo /META-INF/MANIFEST.MF del archivo JAR de implementación JSF. Por lo general se encuentra cerca de la parte inferior del archivo de manifiesto de la siguiente manera:

Implementation-Title: Mojarra 
Implementation-Version: 1.2_12-b01-FCS 
Implementation-Vendor: Sun Microsystems, Inc. 

Un archivo JAR se puede abrir con una herramienta ZIP. En el caso de Sun RI/Mojarra, el nombre de archivo es jsf-impl.jar, a veces ya tiene el sufijo con el número de versión exacta, como jsf-impl-1.2_12-b01-FCS.jar. Si está utilizando la implementación JSF suministrada por JBoss 4.3.x, entonces puede encontrar el archivo en la carpeta $JBOSS_HOME/server/<Profile>/deploy/jboss-web.deployer/jsf-libs. Si suministró su propia implementación de JSF en /WEB-INF/lib y configuró web.xml para indicarle a JBoss que la use, en su lugar debe verificarla en la proporcionada en /WEB-INF/lib.

O, que sólo puede conseguirlo mediante programación:

Package jsfPackage = FacesContext.class.getPackage(); 
String implTitle = jsfPackage.getImplementationTitle(); 
String implVersion = jsfPackage.getImplementationVersion(); 
String implVendor = jsfPackage.getImplementationVendor(); 

En cuanto a la faces-config.xml, con ella también se puede controlar qué versión JSF la aplicación está diseñada para. Por lo tanto, si declara que cumple con la especificación JSF 1.1, incluso una implementación JSF 1.2/2.0 se ejecutará en JSF 1.1 "modo de compatibilidad". Pero no puede declarar que se ajusta a una versión más nueva como JSF 1.2/2.0 cuando está actualmente usando una implementación JSF 1.1. Se producirá un error o se ignorará.

Cuestiones relacionadas