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.
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.
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)