我正在开发一个 jsf-webapp,现在我需要知道我使用的是什么 JSF 版本?我在哪里可以查到这个?提前致谢。
3 回答
以编程方式,你的意思是?你可以从Package#getImplementationVersion()
.
String version = FacesContext.class.getPackage().getImplementationVersion();
顺便也有getImplementationVendor()
和getImplementationTitle()
方法。您可能还想使用它来区分供应商(例如 MyFaces 或 Mojarra)。
还是你的意思是手动?只需查看/META-INF/MANIFEST.MF
JSF impl JAR 文件的文件即可。您可以使用 ZIP 工具提取 JAR 文件。这是Implementation-Version
清单文件的条目。
对我来说,它不适用于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)
脚步
1:解压javax.faces.jar(解压到文件夹),解压文件夹\META-INF
2:在 META-INF 中,打开 MANIFEST.MF。
3:搜索实现版本
例如:实施版本:2.1.6-SNAPSHOT