Преобразователь переменных API типа устарел после JSF 1.1. Вместо этого используйте el-resolver

Мы недавно обновили WebSphere Portal v6.1 до v7.0, и теперь у нас есть JSF 1.2. При создании нового проекта Portlet в 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>

И затем жалуется: Тип API-преобразователь переменных устарел после JSF 1.1. Вместо этого используйте el-resolver.

К сожалению, я не смог найти на страницах IBM ответ, какой el-resolver использовать.

Edit:

System.out.println("Resolver: " + PortalUtil.getFacesContext().getApplication().getELResolver());

=> Resolver: com.sun.faces.el.FacesCompositeELResolver@696e696e

Добавление записи в faces-config

<el-resolver>com.sun.faces.el.FacesCompositeELResolver</el-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

PMR с открытым IBM ...

6
задан pnuts 24 November 2015 в 23:12
поделиться