27

我正在开发一个 jsf-webapp,现在我需要知道我使用的是什么 JSF 版本?我在哪里可以查到这个?提前致谢。

4

3 回答 3

49

以编程方式,你的意思是?你可以从Package#getImplementationVersion().

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

顺便也有getImplementationVendor()getImplementationTitle()方法。您可能还想使用它来区分供应商(例如 MyFaces 或 Mojarra)。

还是你的意思是手动?只需查看/META-INF/MANIFEST.MFJSF impl JAR 文件的文件即可。您可以使用 ZIP 工具提取 JAR 文件。这是Implementation-Version清单文件的条目。

于 2012-10-29T16:36:58.047 回答
2

对我来说,它不适用于WebSphere Server,所以我遵循了peater 的评论

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 位置:(文件:/C: /workspaces/spielwiese/wlp/dev/api/spec/com.ibm.websphere.javaee.jsf.2.2_1.0.18 .jar)

于 2017-11-21T10:56:58.803 回答
-4

脚步

1:解压javax.faces.jar(解压到文件夹),解压文件夹\META-INF

2:在 META-INF 中,打开 MANIFEST.MF。

3:搜索实现版本

例如:实施版本:2.1.6-SNAPSHOT

于 2018-05-15T15:25:05.827 回答