Jsf-webappを開発していますが、使用しているJSF-Versionを知る必要がありますか?これはどこで調べられますか?前もって感謝します。
プログラム的に、ということですか? Package#getImplementationVersion()
から取得できます。
_String version = FacesContext.class.getPackage().getImplementationVersion();
_
ちなみに getImplementationVendor()
および getImplementationTitle()
メソッドもあります。ベンダー(MyFacesやMojarraなど)を区別するためにそれを使用することもできます。
それとも手動でですか? JSF impl JARファイルの_/META-INF/MANIFEST.MF
_ファイルを調べるだけです。 JARファイルはZipツールで抽出できます。これは、マニフェストファイルの_Implementation-Version
_エントリです。
私にとっては、WebSphereサーバーでは機能しなかったので、ピーターの コメント に従いました:
System.out.println("JSF API Location: " + FacesContext.class.getProtectionDomain().getCodeSource());
System.out.println("JSF Impl Location: " + Facelet.class.getProtectionDomain().getCodeSource());
それは私にライブラリのファイル名のバージョンを示しました:
JSF APIの場所:(file:/ C:/workspaces/spielwiese/wlp/dev/api/spec/com.ibm.websphere.javaee。jsf.2.2_1.0.18。jar)
JSF実装場所:(file:/ C:/workspaces/spielwiese/wlp/dev/api/spec/com.ibm.websphere.javaee。jsf.2.2_1.0.18。jar)