Я разрабатываю jsf-webapp, и теперь мне нужно знать, какую версию JSF-версии я использую? Где я могу это посмотреть? Спасибо заранее.
Как определить текущую версию JSF?
Ответ 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)