Как определить текущую JSF-версию?
Я занимаюсь разработкой jsf-webapp, и теперь мне нужно знать, какую версию JSF я использую? Где я могу найти это? Заранее спасибо.
3 ответа
Вы имеете в виду программно? Вы можете получить это от Package#getImplementationVersion()
,
String version = FacesContext.class.getPackage().getImplementationVersion();
Есть, кстати, также getImplementationVendor()
а также getImplementationTitle()
методы. Возможно, вы также захотите использовать его, чтобы отличить поставщика (например, MyFaces или Mojarra).
Или ты имеешь ввиду вручную? Просто посмотри в /META-INF/MANIFEST.MF
файл файла JSF impl JAR. Вы можете извлечь файл JAR с помощью инструмента ZIP. Это Implementation-Version
запись файла манифеста.
Для меня это не работает с сервером WebSphere, поэтому я последовал комментарию peater:
System.out.println("JSF API Location: " + FacesContext.class.getProtectionDomain().getCodeSource());
System.out.println("JSF Impl Location: " + Facelet.class.getProtectionDomain().getCodeSource());
Он показал мне версию в названии библиотеки:
Расположение API JSF: (файл:/C:/workspaces/spielwiese/wlp/dev/api/spec/com.ibm.websphere.javaee.Jsf.2.2_1.0.18.jar)
Расположение JSF Impl: (файл:/C:/workspaces/spielwiese/wlp/dev/api/spec/com.ibm.websphere.javaee.Jsf.2.2_1.0.18.jar)
меры
1: разархивируйте javax.faces.jar (распакуйте в папку), перейдите в папку извлечения \ META-INF
2: в сторону META-INF откройте MANIFEST.MF.
3: поиск версии реализации
например: реализация-версия: 2.1.6-SNAPSHOT