web-dev-qa-db-fra.com

Comment détecter la version JSF actuelle?

Je développe une application web jsf et maintenant j'ai besoin de savoir quelle version JSF j'utilise? Où puis-je rechercher cela? Merci d'avance.

27
Jochen

Par programme, tu veux dire? Vous pouvez l'obtenir à partir de Package#getImplementationVersion() .

String version = FacesContext.class.getPackage().getImplementationVersion();

Il existe également des méthodes getImplementationVendor() et getImplementationTitle() . Vous souhaiterez peut-être également l'utiliser pour distinguer le fournisseur (MyFaces ou Mojarra, par exemple).

Ou voulez-vous dire manuellement? Regardez simplement dans le fichier /META-INF/MANIFEST.MF Du fichier JAR impl JSF. Vous pouvez extraire le fichier JAR avec un outil Zip. Il s'agit de l'entrée Implementation-Version Du fichier manifeste.

43
BalusC

Pour moi, cela ne fonctionnait pas avec un WebSphere Server , j'ai donc suivi le commentaire de peater:

System.out.println("JSF API Location: " + FacesContext.class.getProtectionDomain().getCodeSource());
System.out.println("JSF Impl Location: " + Facelet.class.getProtectionDomain().getCodeSource());

Il m'a montré la version dans le nom de fichier de la bibliothèque:

Emplacement de l'API JSF: (fichier:/C: /workspaces/spielwiese/wlp/dev/api/spec/com.ibm.websphere.javaee. jsf.2.2_1.0.18 . pot)

Emplacement de l'impl JSF: (fichier:/C: /workspaces/spielwiese/wlp/dev/api/spec/com.ibm.websphere.javaee. jsf.2.2_1.0.18 . pot)

1