Le informazioni esatte sulla versione di implementazione JSF sono disponibili nel file /META-INF/MANIFEST.MF
del file JAR di implementazione JSF. Di solito si trova nella parte inferiore del file manifesto come segue:
Implementation-Title: Mojarra
Implementation-Version: 1.2_12-b01-FCS
Implementation-Vendor: Sun Microsystems, Inc.
Un file JAR può essere aperto con un attrezzo ZIP. Nel caso di Sun RI/Mojarra, il nome file è jsf-impl.jar
, a volte già suffisso con il numero di versione esatto come jsf-impl-1.2_12-b01-FCS.jar
. Se stai utilizzando l'implementazione JSF fornita da JBoss 4.3.x, puoi trovare il file nella cartella $JBOSS_HOME/server/<Profile>/deploy/jboss-web.deployer/jsf-libs
. Se hai fornito la tua implementazione JSF in /WEB-INF/lib
e configurato web.xml
per comunicare a JBoss di utilizzarlo, devi invece verificarlo in quello fornito in /WEB-INF/lib
.
In alternativa, si può solo ottenere a livello di codice:
Package jsfPackage = FacesContext.class.getPackage();
String implTitle = jsfPackage.getImplementationTitle();
String implVersion = jsfPackage.getImplementationVersion();
String implVendor = jsfPackage.getImplementationVendor();
Per quanto riguarda la faces-config.xml
, con esso è anche possibile controllare quale versione JSF l'applicazione è progettata per. Quindi se hai dichiarato conforme la specifica JSF 1.1, allora anche un'implementazione JSF 1.2/2.0 verrà eseguita in "modalità di compatibilità" di JSF 1.1. Ma non è possibile dichiarare conforme una versione più recente come JSF 1.2/2.0 quando si è in realtà utilizzando un'implementazione JSF 1.1. Si guasterà o sarà ignorato.