Подтвердить что ты не робот

Как определить текущую версию JSF?

Я разрабатываю jsf-webapp, и теперь мне нужно знать, какую версию JSF-версии я использую? Где я могу это посмотреть? Спасибо заранее.

4b9b3361

Ответ 1

Программно, вы имеете в виду? Вы можете получить его из Package#getImplementationVersion().

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

Есть, кстати, также getImplementationVendor() и getImplementationTitle(). Вы также можете использовать его, чтобы отличить поставщика (например, MyFaces или Mojarra).

Или вы имеете в виду вручную? Просто загляните в файл /META-INF/MANIFEST.MF JAR файла JSF impl. Вы можете извлечь JAR файл с помощью инструмента ZIP. Это запись Implementation-Version файла манифеста.

Ответ 2

Для меня это не работало с WebSphere Server, поэтому я следил за comment участника:

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

Он показал мне версию в имени библиотеки:

Местоположение JSF API: (файл:/C:/workspaces/spielwiese/wlp/dev/api/spec/com.ibm.websphere.javaee. jsf.2.2_1.0.18.jar)

JSF Impl Location: (файл:/C:/workspaces/spielwiese/wlp/dev/api/spec/com.ibm.websphere.javaee. jsf.2.2_1.0.18.jar)