We recently upgraded from WebSphere Portal v6.1 to version 7.0, and now we have JSF 1.2. Creating a new Portlet project in Rad 8 creates a faces-config.xml file with the following entry
<application> <state-manager>com.ibm.faces.application.DevelopmentStateManager</state-manager> <variable-resolver>com.ibm.faces.portlet.PortletVariableResolver</variable-resolver> </application>
And then complains: Type API variable-resolver is deprecated after JSF 1.1. Use el-resolver instead.
Unfortunately, I could not find the answer on the IBM pages for which el-resolver is used.
Edit:
System.out.println("Resolver: " + PortalUtil.getFacesContext().getApplication().getELResolver());
=> Resolver: com.sun.faces.el.FacesCompositeELResolver@696e696e
Adding an entry to faces-config
<el-resolver>com.sun.faces.el.FacesCompositeELResolver</el-resolver>
With the removal of the resolver variable or without it leads to:
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
PMR with IBM has opened ...
source share