framework - jsf tutorial español
¿Cómo detectar la versión actual de JSF? (3)
Estoy desarrollando una aplicación web jsf y ahora necesito saber qué versión JSF estoy usando. ¿Dónde puedo buscar esto? Gracias por adelantado.
Para mí no funcionaba con un servidor WebSphere , así que seguí el comment de Peater:
System.out.println("JSF API Location: " + FacesContext.class.getProtectionDomain().getCodeSource());
System.out.println("JSF Impl Location: " + Facelet.class.getProtectionDomain().getCodeSource());
Me mostró la versión en el nombre de archivo de la biblioteca:
Ubicación de la API de JSF: (archivo: / C: /workspaces/spielwiese/wlp/dev/api/spec/com.ibm.websphere.javaee. Jsf.2.2_1.0.18 .jar)
Ubicación de JSF Impl: (archivo: / C: /workspaces/spielwiese/wlp/dev/api/spec/com.ibm.websphere.javaee.jsf.2.2_1.0.18 .jar)
pasos
1: descomprima javax.faces.jar (extraer en una carpeta), vaya a extraer carpeta / META-INF
2: en el lado META-INF, abrir MANIFEST.MF.
3: buscar la versión de implementación
por ejemplo: Implementación-Versión: 2.1.6-SNAPSHOT
Programáticamente, te refieres? Puede obtenerlo en el Package#getImplementationVersion()
.
String version = FacesContext.class.getPackage().getImplementationVersion();
Por cierto, también getImplementationVendor()
métodos getImplementationVendor()
y getImplementationTitle()
. Es posible que desee utilizarlo también para distinguir al proveedor (por ejemplo, MyFaces o Mojarra).
¿O te refieres a manual? Simplemente busque en el archivo /META-INF/MANIFEST.MF
archivo JAR /META-INF/MANIFEST.MF
JSF. Puede extraer el archivo JAR con una herramienta ZIP. Es la entrada de la Implementation-Version
del archivo de manifiesto.