Блоги

BeanLocator has not been set for servlet context insurance-event

Вчера наш разработчик Дмитрий Никешкин прошел боевое крещение на "приколах" Liferay. Дима нашел, как чинить следующую ошибку:

[http-bio-8080-exec-28][PortletBeanLocatorUtil:42] BeanLocator is null for servlet context insurance-event
[http-bio-8080-exec-28][render_portlet_jsp:157] com.liferay.portal.kernel.bean.BeanLocatorException: BeanLocator has not been set for servlet context insurance-event
 at com.liferay.portal.kernel.bean.PortletBeanLocatorUtil.locate(PortletBeanLocatorUtil.java:46)
 at ru.emdev.mycardif.company.service.CompanyIELocalServiceUtil.getService(CompanyIELocalServiceUtil.java:343)
 at ru.emdev.mycardif.company.service.CompanyIELocalServiceUtil.getCompanyIEsCount(CompanyIELocalServiceUtil.java:273)
 at ru.emdev.mycardif.portlet.InsuranceEventConfigurationAction.processAction(InsuranceEventConfigurationAction.java:26)
 at com.liferay.portal.kernel.bean.ClassLoaderBeanHandler.invoke(ClassLoaderBeanHandler.java:67)
 at com.liferay.portlet.portletconfiguration.action.EditConfigurationAction.processAction(EditConfigurationAction.java:76)
 at com.liferay.portal.struts.PortletRequestProcessor.process(PortletRequestProcessor.java:169)
 at com.liferay.portlet.StrutsPortlet.processAction(StrutsPortlet.java:214)
 at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:71)
 at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:48)
 at com.liferay.portlet.InvokerPortletImpl.invoke(InvokerPortletImpl.java:616)
 at com.liferay.portlet.InvokerPortletImpl.invokeAction(InvokerPortletImpl.java:647)
 at com.liferay.portlet.InvokerPortletImpl.processAction(InvokerPortletImpl.java:315)
 at com.liferay.portal.action.LayoutAction.processPortletRequest(LayoutAction.java:938)
 at com.liferay.portal.action.LayoutAction.processLayout(LayoutAction.java:681)
 at com.liferay.portal.action.LayoutAction.execute(LayoutAction.java:243)
 at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
 at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
 at com.liferay.portal.struts.PortalRequestProcessor.process(PortalRequestProcessor.java:176)
 at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
 
Возникает ошибка, когда pluginName не оканчивается на -portlet.
 
Решение:  необходимо проверить чтобы был установлен параметр в liferay-plugin-package.properties
 recommended-deployment-context=
Он должен совпадать с pluginName в pom.xml.
24.06.2014