Как определить текущую 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

Другие вопросы по тегам