最近、WebSphere Portal v6.1 から v7.0 にアップグレードし、その過程で JSF 1.2 を利用できるようになりました。Rad 8 で新しいポートレット プロジェクトを作成すると、次のエントリを持つ faces-config.xml が作成されます
<application>
<state-manager>com.ibm.faces.application.DevelopmentStateManager</state-manager>
<variable-resolver>com.ibm.faces.portlet.PortletVariableResolver</variable-resolver>
</application>
そして、不平を言います:Type API variable-resolver is deprecated after JSF 1.1. 代わりに el-resolver を使用してください。
残念ながら、使用する el-resolver の IBM ページで回答が見つかりませんでした。
編集:
System.out.println("Resolver: " + PortalUtil.getFacesContext().getApplication().getELResolver());
=> リゾルバー: com.sun.faces.el.FacesCompositeELResolver@696e696e
faces-config へのエントリの追加
<el-resolver>com.sun.faces.el.FacesCompositeELResolver</el-resolver>
variable-resolver を削除してもしなくても、次のようになります。
java.lang.IllegalStateException: Application was not properly initialized at startup, could not find Factory: javax.faces.context.FacesContextFactory
at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:270)
at javax.faces.webapp.FacesServlet.init(FacesServlet.java:164)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:358)
... 89 more
IBMが開いたPMR ...