留言板

RE: BeanLocator has not been set for servlet context

thumbnail
Richard Kosegi,修改在12 年前。

BeanLocator has not been set for servlet context

New Member 帖子: 19 加入日期: 11-9-5 最近的帖子
Hi All,

I have problem with deploying portlet to my production server.

During development everything goes fine.After deploy I receive following errors:

07:15:08,460 ERROR [PortletBeanLocatorUtil:38] BeanLocator is null for servlet context GSMPortlets-portlet
07:15:08,462 ERROR [PortletServlet:97] javax.portlet.PortletException: com.liferay.portal.kernel.bean.BeanLocatorException: BeanLocator has not been set for servlet context GSMPortlets-portlet
javax.portlet.PortletException: com.liferay.portal.kernel.bean.BeanLocatorException: BeanLocator has not been set for servlet context GSMPortlets-portlet
        at com.liferay.portal.kernel.portlet.LiferayPortlet.callActionMethod(LiferayPortlet.java:164)
        at com.liferay.util.bridges.mvc.MVCPortlet.callActionMethod(MVCPortlet.java:241)
        at com.liferay.portal.kernel.portlet.LiferayPortlet.processAction(LiferayPortlet.java:76)
        at com.liferay.util.bridges.mvc.MVCPortlet.processAction(MVCPortlet.java:211)
        at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:70)
        at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:48)
        at com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServlet.java:93)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
...


and

07:15:08,494 ERROR [render_portlet_jsp:154] com.liferay.portal.kernel.bean.BeanLocatorException: BeanLocator has not been set for servlet context GSMPortlets-portlet
        at com.liferay.portal.kernel.bean.PortletBeanLocatorUtil.locate(PortletBeanLocatorUtil.java:42)
        at net.ezzhole.liferay.portlets.gsm.service.MessageLocalServiceUtil.getService(MessageLocalServiceUtil.java:235)
        at net.ezzhole.liferay.portlets.gsm.service.MessageLocalServiceUtil.addMessage(MessageLocalServiceUtil.java:48)
        at net.ezzhole.liferay.portlets.gsm.SMSPortlet.sendMessage(SMSPortlet.java:61)
        at com.liferay.portal.kernel.portlet.LiferayPortlet.callActionMethod(LiferayPortlet.java:146)
        at com.liferay.util.bridges.mvc.MVCPortlet.callActionMethod(MVCPortlet.java:241)
        at com.liferay.portal.kernel.portlet.LiferayPortlet.processAction(LiferayPortlet.java:76)
        at com.liferay.util.bridges.mvc.MVCPortlet.processAction(MVCPortlet.java:211)
        at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:70)
        at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:48)
        at com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServlet.java:93)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
...


I think that this is related to liferay service layer.

What can be root cause?
thumbnail
Jan Gregor,修改在12 年前。

RE: BeanLocator has not been set for servlet context

Regular Member 帖子: 224 加入日期: 10-10-20 最近的帖子
Hi there,

I am expecting you are using some service built by Service builder, is it correct ? Make sure this service was deployed correctly.

Regards,
Jan.
thumbnail
Richard Kosegi,修改在12 年前。

RE: BeanLocator has not been set for servlet context

New Member 帖子: 19 加入日期: 11-9-5 最近的帖子
Hi Jan,

thank you for reply.

Yes, you're right, I'm using service builder.

Sorry, but what you mean by "deployed correctly"?
I'm using Eclipse with liferay SDK 6.1, localy no problem, portlet deployed succesfully, I can perform CRUD operations.
But when I deploy to server, this errors occures.

Any hints please?
thumbnail
Jan Gregor,修改在12 年前。

RE: BeanLocator has not been set for servlet context

Regular Member 帖子: 224 加入日期: 10-10-20 最近的帖子
Hi Richard,

Are you deploying the service separately, or is part of your portlet war file ? Do you get any errors by deployment ? Normally this error comes, when the service was not deployed, or there was some error during deployment. That's why i asked the question.

Regards,
Jan.
thumbnail
Richard Kosegi,修改在12 年前。

RE: BeanLocator has not been set for servlet context

New Member 帖子: 19 加入日期: 11-9-5 最近的帖子
Hi Jan,

Service is part of WAR file

I receive following error during deployment:


10:50:01,208 ERROR [PortletApplicationContext:82] org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Bean class [com.liferay.portal.dao.shard.ShardAdvice] not found
Offending resource: ServletContext resource [/WEB-INF/classes/META-INF/shard-data-source-spring.xml]
Bean 'com.liferay.portal.dao.shard.ShardAdvice'; nested exception is java.lang.ClassNotFoundException: com.liferay.portal.dao.shard.ShardAdvice
org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Bean class [com.liferay.portal.dao.shard.ShardAdvice] not found
Offending resource: ServletContext resource [/WEB-INF/classes/META-INF/shard-data-source-spring.xml]
Bean 'com.liferay.portal.dao.shard.ShardAdvice'; nested exception is java.lang.ClassNotFoundException: com.liferay.portal.dao.shard.ShardAdvice
        at org.springframework.beans.factory.parsing.FailFastProblemReporter.error(FailFastProblemReporter.java:68)
        at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:85)
        at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.error(BeanDefinitionParserDelegate.java:291)
        at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseBeanDefinitionElement(BeanDefinitionParserDelegate.java:491)
        at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseBeanDefinitionElement(BeanDefinitionParserDelegate.java:396)
        at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseBeanDefinitionElement(BeanDefinitionParserDelegate.java:365)
        at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.processBeanDefinition(DefaultBeanDefinitionDocumentReader.java:258)
        at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseDefaultElement(DefaultBeanDefinitionDocumentReader.java:153)
        at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:132)
        at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:93)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:493)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:390)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)
        at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143)
        at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178)
        at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149)
        at com.liferay.portal.spring.context.PortletApplicationContext.loadBeanDefinitions(PortletApplicationContext.java:71)
        at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:93)
        at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:130)
        at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:467)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:397)
        at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)
        at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)
        at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
        at com.liferay.portal.spring.context.PortletContextLoaderListener.contextInitialized(PortletContextLoaderListener.java:88)
        at com.liferay.portal.kernel.servlet.PortalClassLoaderServletContextListener.doPortalInit(PortalClassLoaderServletContextListener.java:93)
        at com.liferay.portal.kernel.util.BasePortalLifecycle.portalInit(BasePortalLifecycle.java:42)
        at com.liferay.portal.kernel.util.PortalLifecycleUtil.register(PortalLifecycleUtil.java:61)
        at com.liferay.portal.kernel.util.PortalLifecycleUtil.register(PortalLifecycleUtil.java:53)
        at com.liferay.portal.kernel.util.BasePortalLifecycle.registerPortalLifecycle(BasePortalLifecycle.java:50)
        at com.liferay.portal.kernel.servlet.PortalClassLoaderServletContextListener.contextInitialized(PortalClassLoaderServletContextListener.java:52)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4206)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4705)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601)
        at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1079)
        at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1002)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:506)
        at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1385)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:306)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
        at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1389)
        at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1653)
        at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1662)
        at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1642)
        at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.ClassNotFoundException: com.liferay.portal.dao.shard.ShardAdvice
        at java.lang.ClassLoader.findClass(ClassLoader.java:359)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
        at com.liferay.portal.spring.util.FilterClassLoader.loadClass(FilterClassLoader.java:41)
        at org.springframework.util.ClassUtils.forName(ClassUtils.java:257)
        at org.springframework.beans.factory.support.BeanDefinitionReaderUtils.createBeanDefinition(BeanDefinitionReaderUtils.java:63)
        at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.createBeanDefinition(BeanDefinitionParserDelegate.java:616)
        at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseBeanDefinitionElement(BeanDefinitionParserDelegate.java:472)
        ... 44 more
10:50:01,590 ERROR [ContextLoader:220] Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'liferaySessionFactory' defined in ServletContext resource [/WEB-INF/classes/META-INF/hibernate-spring.xml]: Cannot resolve reference to bean 'portletClassLoader' while setting bean property 'sessionFactoryClassLoader'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'portletClassLoader' is defined
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328)
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1325)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1086)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
        at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)
        at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)
        at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
        at com.liferay.portal.spring.context.PortletContextLoaderListener.contextInitialized(PortletContextLoaderListener.java:88)
        at com.liferay.portal.kernel.servlet.PortalClassLoaderServletContextListener.doPortalInit(PortalClassLoaderServletContextListener.java:93)
        at com.liferay.portal.kernel.util.BasePortalLifecycle.portalInit(BasePortalLifecycle.java:42)
        at com.liferay.portal.kernel.util.PortalLifecycleUtil.register(PortalLifecycleUtil.java:61)
        at com.liferay.portal.kernel.util.PortalLifecycleUtil.register(PortalLifecycleUtil.java:53)
        at com.liferay.portal.kernel.util.BasePortalLifecycle.registerPortalLifecycle(BasePortalLifecycle.java:50)
        at com.liferay.portal.kernel.servlet.PortalClassLoaderServletContextListener.contextInitialized(PortalClassLoaderServletContextListener.java:52)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4206)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4705)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601)
        at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1079)
        at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1002)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:506)
        at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1385)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:306)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
        at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1389)
        at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1653)
        at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1662)
        at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1642)
        at java.lang.Thread.run(Thread.java:619)
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'portletClassLoader' is defined
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:527)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1083)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:274)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322)
        ... 38 more
10:50:01,593 ERROR [PortalClassLoaderServletContextListener:96] org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'liferaySessionFactory' defined in ServletContext resource [/WEB-INF/classes/META-INF/hibernate-spring.xml]: Cannot resolve reference to bean 'portletClassLoader' while setting bean property 'sessionFactoryClassLoader'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'portletClassLoader' is defined
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'liferaySessionFactory' defined in ServletContext resource [/WEB-INF/classes/META-INF/hibernate-spring.xml]: Cannot resolve reference to bean 'portletClassLoader' while setting bean property 'sessionFactoryClassLoader'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'portletClassLoader' is defined
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328)
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1325)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1086)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
        at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)
        at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)
        at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
        at com.liferay.portal.spring.context.PortletContextLoaderListener.contextInitialized(PortletContextLoaderListener.java:88)
        at com.liferay.portal.kernel.servlet.PortalClassLoaderServletContextListener.doPortalInit(PortalClassLoaderServletContextListener.java:93)
        at com.liferay.portal.kernel.util.BasePortalLifecycle.portalInit(BasePortalLifecycle.java:42)
        at com.liferay.portal.kernel.util.PortalLifecycleUtil.register(PortalLifecycleUtil.java:61)
        at com.liferay.portal.kernel.util.PortalLifecycleUtil.register(PortalLifecycleUtil.java:53)
        at com.liferay.portal.kernel.util.BasePortalLifecycle.registerPortalLifecycle(BasePortalLifecycle.java:50)
        at com.liferay.portal.kernel.servlet.PortalClassLoaderServletContextListener.contextInitialized(PortalClassLoaderServletContextListener.java:52)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4206)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4705)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601)
        at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1079)
        at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1002)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:506)
        at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1385)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:306)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
        at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1389)
        at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1653)
        at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1662)
        at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1642)
        at java.lang.Thread.run(Thread.java:619)
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'portletClassLoader' is defined
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:527)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1083)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:274)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322)
        ... 38 more




Thank you
thumbnail
Jan Gregor,修改在12 年前。

RE: BeanLocator has not been set for servlet context

Regular Member 帖子: 224 加入日期: 10-10-20 最近的帖子
Okay, so we are now moving to the cause of that problem. So our goal is now to discover this error. The original message "Bean not initialized" is caused by the fact, that the service is actually not deployed because of this error. Can you try to undeploy the service war, clean, build and re-deploy it again ? Do you get any error by building or cleaning the module ?

Jan.
thumbnail
Richard Kosegi,修改在12 年前。

RE: BeanLocator has not been set for servlet context

New Member 帖子: 19 加入日期: 11-9-5 最近的帖子
Hi Jan,

this is what I got when tried to remove portlet:


INFO: Undeploying context [/download-portlet]
11:38:35,799 INFO  [PluginPackageUtil:1101] Reading plugin package for download-portlet
11:38:35,819 ERROR [HotDeployUtil:205] com.liferay.portal.kernel.deploy.hot.HotDeployException: Error unregistering plugins for download-portlet
com.liferay.portal.kernel.deploy.hot.HotDeployException: Error unregistering plugins for download-portlet
        at com.liferay.portal.kernel.deploy.hot.BaseHotDeployListener.throwHotDeployException(BaseHotDeployListener.java:46)
        at com.liferay.portal.deploy.hot.PluginPackageHotDeployListener.invokeUndeploy(PluginPackageHotDeployListener.java:65)
        at com.liferay.portal.kernel.deploy.hot.HotDeployUtil._fireUndeployEvent(HotDeployUtil.java:202)
        at com.liferay.portal.kernel.deploy.hot.HotDeployUtil.fireUndeployEvent(HotDeployUtil.java:44)
        at com.liferay.portal.kernel.servlet.PortletContextListener.doPortalDestroy(PortletContextListener.java:60)
        at com.liferay.portal.kernel.util.BasePortalLifecycle.portalDestroy(BasePortalLifecycle.java:30)
        at com.liferay.portal.kernel.servlet.PortletContextListener.contextDestroyed(PortletContextListener.java:45)
        at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4245)
        at org.apache.catalina.core.StandardContext.stop(StandardContext.java:4886)
        at org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:936)
        at org.apache.catalina.startup.HostConfig.checkResources(HostConfig.java:1212)
        at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1382)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:306)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
        at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1389)
        at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1653)
        at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1662)
        at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1642)
        at java.lang.Thread.run(Thread.java:619)
Caused by: com.liferay.portal.kernel.exception.SystemException: org.hibernate.cache.CacheException: java.lang.IllegalStateException: The com.liferay.socialnetworking.model.impl.MeetupsEntryImpl Cache is not alive.
        at com.liferay.portal.service.impl.ServiceComponentLocalServiceImpl.destroyServiceComponent(ServiceComponentLocalServiceImpl.java:65)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:112)
        at com.liferay.portal.spring.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:86)
        at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:108)
        at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:59)
        at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:108)
        at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:59)
        at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:108)
        at com.liferay.portal.spring.aop.ServiceBeanAopProxy.invoke(ServiceBeanAopProxy.java:204)
        at $Proxy86.destroyServiceComponent(Unknown Source)
        at com.liferay.portal.service.ServiceComponentLocalServiceUtil.destroyServiceComponent(ServiceComponentLocalServiceUtil.java:262)
        at com.liferay.portal.deploy.hot.PluginPackageHotDeployListener.destroyServiceComponent(PluginPackageHotDeployListener.java:74)
        at com.liferay.portal.deploy.hot.PluginPackageHotDeployListener.doInvokeUndeploy(PluginPackageHotDeployListener.java:148)
        at com.liferay.portal.deploy.hot.PluginPackageHotDeployListener.invokeUndeploy(PluginPackageHotDeployListener.java:62)
        ... 17 more
Caused by: org.hibernate.cache.CacheException: java.lang.IllegalStateException: The com.liferay.socialnetworking.model.impl.MeetupsEntryImpl Cache is not alive.
        at net.sf.ehcache.hibernate.regions.EhcacheTransactionalDataRegion.clear(EhcacheTransactionalDataRegion.java:167)
        at com.liferay.portal.dao.orm.hibernate.region.EntityRegionWrapper.invalidate(EntityRegionWrapper.java:52)
        at com.liferay.portal.cache.CacheRegistryImpl.clear(CacheRegistryImpl.java:41)
        at com.liferay.portal.kernel.cache.CacheRegistryUtil.clear(CacheRegistryUtil.java:23)
        at com.liferay.portal.service.impl.ServiceComponentLocalServiceImpl.clearCacheRegistry(ServiceComponentLocalServiceImpl.java:274)
        at com.liferay.portal.service.impl.ServiceComponentLocalServiceImpl.destroyServiceComponent(ServiceComponentLocalServiceImpl.java:62)
        ... 34 more
Caused by: java.lang.IllegalStateException: The com.liferay.socialnetworking.model.impl.MeetupsEntryImpl Cache is not alive.
        at net.sf.ehcache.Cache.checkStatus(Cache.java:2438)
        at net.sf.ehcache.Cache.removeAll(Cache.java:2202)
        at net.sf.ehcache.Cache.removeAll(Cache.java:2188)
        at com.liferay.portal.cache.ehcache.ModifiableEhcacheWrapper.removeAll(ModifiableEhcacheWrapper.java:474)
        at net.sf.ehcache.hibernate.regions.EhcacheTransactionalDataRegion.clear(EhcacheTransactionalDataRegion.java:165)
        ... 39 more
11:38:35,823 INFO  [PortletHotDeployListener:454] Unregistering portlets for download-portlet
11:38:35,827 INFO  [PortletHotDeployListener:491] 2 portlets for download-portlet was unregistered



Then try to re-deploy:

11:42:56,510 INFO  [AutoDeployDir:167] Processing download-portlet.war
11:42:56,514 INFO  [PortletAutoDeployListener:71] Copying portlets for /u06/liferay/product/liferay-portal-6.1.0/deploy/download-portlet.war
  Expanding: /u06/liferay/product/liferay-portal-6.1.0/deploy/download-portlet.war into /u06/liferay/product/liferay-portal-6.1.0/tomcat-6.0.33/temp/20111129114256516
  Copying 1 file to /u06/liferay/product/liferay-portal-6.1.0/tomcat-6.0.33/temp/20111129114256516/WEB-INF
  Copying 1 file to /u06/liferay/product/liferay-portal-6.1.0/tomcat-6.0.33/temp/20111129114256516/WEB-INF/classes
  Copying 1 file to /u06/liferay/product/liferay-portal-6.1.0/tomcat-6.0.33/temp/20111129114256516/WEB-INF/classes
  Copying 1 file to /u06/liferay/product/liferay-portal-6.1.0/tomcat-6.0.33/temp/20111129114256516/META-INF
  Copying 1 file to /u06/liferay/product/liferay-portal-6.1.0/tomcat-6.0.33/temp/20111129114256516/WEB-INF/jsp
  Copying 155 files to /u06/liferay/product/liferay-portal-6.1.0/tomcat-6.0.33/webapps/download-portlet
  Copying 1 file to /u06/liferay/product/liferay-portal-6.1.0/tomcat-6.0.33/webapps/download-portlet
  Deleting directory /u06/liferay/product/liferay-portal-6.1.0/tomcat-6.0.33/temp/20111129114256516
11:42:57,366 INFO  [PortletAutoDeployListener:81] Portlets for /u06/liferay/product/liferay-portal-6.1.0/deploy/download-portlet.war copied successfully. Deployment will start in a few seconds.
Nov 29, 2011 11:43:06 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory download-portlet
Loading file:/u06/liferay/product/liferay-portal-6.1.0/tomcat-6.0.33/temp/10-download-portlet/WEB-INF/classes/service.properties
11:43:06,711 ERROR [PortletApplicationContext:82] org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Bean class [com.liferay.portal.spring.annotation.BeanReferenceAnnotationBeanPostProcessor] not found
Offending resource: ServletContext resource [/WEB-INF/classes/META-INF/base-spring.xml]
Bean ''; nested exception is java.lang.ClassNotFoundException: com.liferay.portal.spring.annotation.BeanReferenceAnnotationBeanPostProcessor
org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Bean class [com.liferay.portal.spring.annotation.BeanReferenceAnnotationBeanPostProcessor] not found
Offending resource: ServletContext resource [/WEB-INF/classes/META-INF/base-spring.xml]
Bean ''; nested exception is java.lang.ClassNotFoundException: com.liferay.portal.spring.annotation.BeanReferenceAnnotationBeanPostProcessor
        at org.springframework.beans.factory.parsing.FailFastProblemReporter.error(FailFastProblemReporter.java:68)
        at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:85)
        at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.error(BeanDefinitionParserDelegate.java:291)
        at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseBeanDefinitionElement(BeanDefinitionParserDelegate.java:491)
        at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseBeanDefinitionElement(BeanDefinitionParserDelegate.java:396)
        at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseBeanDefinitionElement(BeanDefinitionParserDelegate.java:365)
        at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.processBeanDefinition(DefaultBeanDefinitionDocumentReader.java:258)
        at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseDefaultElement(DefaultBeanDefinitionDocumentReader.java:153)
        at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:132)
        at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:93)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:493)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:390)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)
        at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143)
        at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178)
        at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149)
        at com.liferay.portal.spring.context.PortletApplicationContext.loadBeanDefinitions(PortletApplicationContext.java:71)
        at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:93)
        at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:130)
        at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:467)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:397)
        at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)
        at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)
        at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
        at com.liferay.portal.spring.context.PortletContextLoaderListener.contextInitialized(PortletContextLoaderListener.java:88)
        at com.liferay.portal.kernel.servlet.PortalClassLoaderServletContextListener.doPortalInit(PortalClassLoaderServletContextListener.java:93)
        at com.liferay.portal.kernel.util.BasePortalLifecycle.portalInit(BasePortalLifecycle.java:42)
        at com.liferay.portal.kernel.util.PortalLifecycleUtil.register(PortalLifecycleUtil.java:61)
        at com.liferay.portal.kernel.util.PortalLifecycleUtil.register(PortalLifecycleUtil.java:53)
        at com.liferay.portal.kernel.util.BasePortalLifecycle.registerPortalLifecycle(BasePortalLifecycle.java:50)
        at com.liferay.portal.kernel.servlet.PortalClassLoaderServletContextListener.contextInitialized(PortalClassLoaderServletContextListener.java:52)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4206)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4705)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601)
        at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1079)
        at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1002)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:506)
        at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1385)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:306)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
        at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1389)
        at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1653)
        at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1662)
        at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1642)
        at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.ClassNotFoundException: com.liferay.portal.spring.annotation.BeanReferenceAnnotationBeanPostProcessor
        at java.lang.ClassLoader.findClass(ClassLoader.java:359)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
        at com.liferay.portal.spring.util.FilterClassLoader.loadClass(FilterClassLoader.java:41)
        at org.springframework.util.ClassUtils.forName(ClassUtils.java:257)
        at org.springframework.beans.factory.support.BeanDefinitionReaderUtils.createBeanDefinition(BeanDefinitionReaderUtils.java:63)
        at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.createBeanDefinition(BeanDefinitionParserDelegate.java:616)
        at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseBeanDefinitionElement(BeanDefinitionParserDelegate.java:472)
        ... 44 more
11:43:06,940 ERROR [PortletApplicationContext:82] org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Bean class [com.liferay.portal.dao.shard.ShardAdvice] not found
Offending resource: ServletContext resource [/WEB-INF/classes/META-INF/shard-data-source-spring.xml]
Bean 'com.liferay.portal.dao.shard.ShardAdvice'; nested exception is java.lang.ClassNotFoundException: com.liferay.portal.dao.shard.ShardAdvice
org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Bean class [com.liferay.portal.dao.shard.ShardAdvice] not found
Offending resource: ServletContext resource [/WEB-INF/classes/META-INF/shard-data-source-spring.xml]
Bean 'com.liferay.portal.dao.shard.ShardAdvice'; nested exception is java.lang.ClassNotFoundException: com.liferay.portal.dao.shard.ShardAdvice
        at org.springframework.beans.factory.parsing.FailFastProblemReporter.error(FailFastProblemReporter.java:68)
        at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:85)
        at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.error(BeanDefinitionParserDelegate.java:291)
        at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseBeanDefinitionElement(BeanDefinitionParserDelegate.java:491)
        at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseBeanDefinitionElement(BeanDefinitionParserDelegate.java:396)
        at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseBeanDefinitionElement(BeanDefinitionParserDelegate.java:365)
        at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.processBeanDefinition(DefaultBeanDefinitionDocumentReader.java:258)
        at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseDefaultElement(DefaultBeanDefinitionDocumentReader.java:153)
        at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:132)
        at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:93)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:493)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:390)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)
        at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143)
        at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178)
        at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149)
        at com.liferay.portal.spring.context.PortletApplicationContext.loadBeanDefinitions(PortletApplicationContext.java:71)
        at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:93)
        at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:130)
        at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:467)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:397)
        at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)
        at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)
        at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
        at com.liferay.portal.spring.context.PortletContextLoaderListener.contextInitialized(PortletContextLoaderListener.java:88)
        at com.liferay.portal.kernel.servlet.PortalClassLoaderServletContextListener.doPortalInit(PortalClassLoaderServletContextListener.java:93)
        at com.liferay.portal.kernel.util.BasePortalLifecycle.portalInit(BasePortalLifecycle.java:42)
        at com.liferay.portal.kernel.util.PortalLifecycleUtil.register(PortalLifecycleUtil.java:61)
        at com.liferay.portal.kernel.util.PortalLifecycleUtil.register(PortalLifecycleUtil.java:53)
        at com.liferay.portal.kernel.util.BasePortalLifecycle.registerPortalLifecycle(BasePortalLifecycle.java:50)
        at com.liferay.portal.kernel.servlet.PortalClassLoaderServletContextListener.contextInitialized(PortalClassLoaderServletContextListener.java:52)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4206)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4705)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601)
        at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1079)
        at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1002)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:506)
        at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1385)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:306)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
        at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1389)
        at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1653)
        at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1662)
        at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1642)
        at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.ClassNotFoundException: com.liferay.portal.dao.shard.ShardAdvice
        at java.lang.ClassLoader.findClass(ClassLoader.java:359)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
        at com.liferay.portal.spring.util.FilterClassLoader.loadClass(FilterClassLoader.java:41)
        at org.springframework.util.ClassUtils.forName(ClassUtils.java:257)
        at org.springframework.beans.factory.support.BeanDefinitionReaderUtils.createBeanDefinition(BeanDefinitionReaderUtils.java:63)
        at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.createBeanDefinition(BeanDefinitionParserDelegate.java:616)
        at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseBeanDefinitionElement(BeanDefinitionParserDelegate.java:472)
        ... 44 more
11:43:07,367 ERROR [ContextLoader:220] Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'liferaySessionFactory' defined in ServletContext resource [/WEB-INF/classes/META-INF/hibernate-spring.xml]: Cannot resolve reference to bean 'portletClassLoader' while setting bean property 'sessionFactoryClassLoader'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'portletClassLoader' is defined
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328)
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1325)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1086)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
        at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)
        at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)
        at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
        at com.liferay.portal.spring.context.PortletContextLoaderListener.contextInitialized(PortletContextLoaderListener.java:88)
        at com.liferay.portal.kernel.servlet.PortalClassLoaderServletContextListener.doPortalInit(PortalClassLoaderServletContextListener.java:93)
        at com.liferay.portal.kernel.util.BasePortalLifecycle.portalInit(BasePortalLifecycle.java:42)
        at com.liferay.portal.kernel.util.PortalLifecycleUtil.register(PortalLifecycleUtil.java:61)
        at com.liferay.portal.kernel.util.PortalLifecycleUtil.register(PortalLifecycleUtil.java:53)
        at com.liferay.portal.kernel.util.BasePortalLifecycle.registerPortalLifecycle(BasePortalLifecycle.java:50)
        at com.liferay.portal.kernel.servlet.PortalClassLoaderServletContextListener.contextInitialized(PortalClassLoaderServletContextListener.java:52)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4206)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4705)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601)
        at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1079)
        at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1002)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:506)
        at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1385)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:306)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
        at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1389)
        at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1653)
        at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1662)
        at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1642)
        at java.lang.Thread.run(Thread.java:619)
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'portletClassLoader' is defined
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:527)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1083)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:274)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322)
        ... 38 more
11:43:07,370 ERROR [PortalClassLoaderServletContextListener:96] org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'liferaySessionFactory' defined in ServletContext resource [/WEB-INF/classes/META-INF/hibernate-spring.xml]: Cannot resolve reference to bean 'portletClassLoader' while setting bean property 'sessionFactoryClassLoader'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'portletClassLoader' is defined
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'liferaySessionFactory' defined in ServletContext resource [/WEB-INF/classes/META-INF/hibernate-spring.xml]: Cannot resolve reference to bean 'portletClassLoader' while setting bean property 'sessionFactoryClassLoader'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'portletClassLoader' is defined
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328)
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1325)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1086)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
        at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)
        at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)
        at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
        at com.liferay.portal.spring.context.PortletContextLoaderListener.contextInitialized(PortletContextLoaderListener.java:88)
        at com.liferay.portal.kernel.servlet.PortalClassLoaderServletContextListener.doPortalInit(PortalClassLoaderServletContextListener.java:93)
        at com.liferay.portal.kernel.util.BasePortalLifecycle.portalInit(BasePortalLifecycle.java:42)
        at com.liferay.portal.kernel.util.PortalLifecycleUtil.register(PortalLifecycleUtil.java:61)
        at com.liferay.portal.kernel.util.PortalLifecycleUtil.register(PortalLifecycleUtil.java:53)
        at com.liferay.portal.kernel.util.BasePortalLifecycle.registerPortalLifecycle(BasePortalLifecycle.java:50)
        at com.liferay.portal.kernel.servlet.PortalClassLoaderServletContextListener.contextInitialized(PortalClassLoaderServletContextListener.java:52)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4206)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4705)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601)
        at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1079)
        at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1002)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:506)
        at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1385)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:306)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
        at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1389)
        at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1653)
        at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1662)
        at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1642)
        at java.lang.Thread.run(Thread.java:619)
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'portletClassLoader' is defined
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:527)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1083)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:274)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322)
        ... 38 more
11:43:07,373 INFO  [PluginPackageUtil:1101] Reading plugin package for download-portlet
Loading file:/u06/liferay/product/liferay-portal-6.1.0/tomcat-6.0.33/temp/10-download-portlet/WEB-INF/classes/service.properties
Loading file:/u06/liferay/product/liferay-portal-6.1.0/tomcat-6.0.33/temp/10-download-portlet/WEB-INF/classes/portlet.properties
11:43:07,794 INFO  [PortletHotDeployListener:261] Registering portlets for download-portlet
Loading file:/u06/liferay/product/liferay-portal-6.1.0/tomcat-6.0.33/temp/10-download-portlet/WEB-INF/classes/portlet.properties
11:43:08,030 INFO  [PortletHotDeployListener:424] 2 portlets for download-portlet are available for use
thumbnail
Brian Ko,修改在12 年前。

RE: BeanLocator has not been set for servlet context

Junior Member 帖子: 70 加入日期: 10-2-11 最近的帖子
Hi Richard,

I have a same issue. Have you solved the problem? BTW, are you using default data source or external data source?

Brian Ko
thumbnail
Richard Kosegi,修改在12 年前。

RE: BeanLocator has not been set for servlet context

New Member 帖子: 19 加入日期: 11-9-5 最近的帖子
Hi Brian,

unfortunately I'm not able to fix it.

I think it can be caused by different versions of liferay, for development I use nightly build from September, but server is running older one.
Related to your next question, yes I'm using default datasource.

Thanks.

Richard.
thumbnail
Brian Ko,修改在12 年前。

RE: BeanLocator has not been set for servlet context

Junior Member 帖子: 70 加入日期: 10-2-11 最近的帖子
Hi Richard,

Thank you for the reply. I tried with the proven development studio and it still does not work. I think I missed something. I am going to build again from scratch.

Brian
thumbnail
Ashok Kumar G,修改在8 年前。

RE: BeanLocator has not been set for servlet context

Junior Member 帖子: 27 加入日期: 11-11-16 最近的帖子
I did the following to solve the above problem:

1. Set the plugin config property pluginName in pom.xml to the correct context

			<plugin>
				<groupid>com.liferay.maven.plugins</groupid>
				<artifactid>liferay-maven-plugin</artifactid>
				<version>${liferay.version}</version>
				<configuration>
					<autodeploydir>${liferay.auto.deploy.dir}</autodeploydir>
					<appserverportaldir>${liferay.app.server.portal.dir}</appserverportaldir>
					<liferayversion>${liferay.version}</liferayversion>
					<plugintype>portlet</plugintype>
					<pluginname>XXXX-portlet</pluginname>
				</configuration>
			</plugin>


2. Optionally set the XXXX-portlet-deployment-context property in liferay plugin properties file or portlet.properties file

XXXX-portlet-deployment-context=XXXX-portlet


3. Re-Build the services
4. Verify if the generated ClpSerializer.java contains the correct contexts

    public static String getServletContextName() {
        if (Validator.isNotNull(_servletContextName)) {
            return _servletContextName;
        }

        synchronized (ClpSerializer.class) {
            if (Validator.isNotNull(_servletContextName)) {
                return _servletContextName;
            }

            try {
                ClassLoader classLoader = ClpSerializer.class.getClassLoader();

                Class<!--?--> portletPropsClass = classLoader.loadClass(
                        "com.liferay.util.portlet.PortletProps");

                Method getMethod = portletPropsClass.getMethod("get",
                        new Class<!--?-->[] { String.class });

                String portletPropsServletContextName = (String) getMethod.invoke(null,
                        "XXXX-portlet-deployment-context");

                if (Validator.isNotNull(portletPropsServletContextName)) {
                    _servletContextName = portletPropsServletContextName;
                }
            } catch (Throwable t) {
                if (_log.isInfoEnabled()) {
                    _log.info(
                        "Unable to locate deployment context from portlet properties");
                }
            }

            if (Validator.isNull(_servletContextName)) {
                try {
                    String propsUtilServletContextName = PropsUtil.get(
                            "XXXX-portlet-deployment-context");

                    if (Validator.isNotNull(propsUtilServletContextName)) {
                        _servletContextName = propsUtilServletContextName;
                    }
                } catch (Throwable t) {
                    if (_log.isInfoEnabled()) {
                        _log.info(
                            "Unable to locate deployment context from portal properties");
                    }
                }
            }

            if (Validator.isNull(_servletContextName)) {
                _servletContextName = "upay-portlet";
            }

            return _servletContextName;
        }
    }


5. Deploy the war, verify the war name and the logs for the correct context name.
Florian Limpöck,修改在8 年前。

RE: BeanLocator has not been set for servlet context

New Member 发布: 1 加入日期: 16-1-19 最近的帖子
I tryed anything written, but nothing worked for me, until i added the project's version

to maven-pluginname in pom:


             <configuration>
                <autodeploydir>${liferay.auto.deploy.dir}</autodeploydir>
                <appserverdeploydir>${liferay.app.server.deploy.dir}</appserverdeploydir>
                <appserverlibglobaldir>${liferay.app.server.lib.global.dir}</appserverlibglobaldir>
                <appserverportaldir>${liferay.app.server.portal.dir}</appserverportaldir>
                <liferayversion>${liferay.version}</liferayversion>
                <plugintype>portlet</plugintype>
                <pluginname>${project.artifactId}-${project.version}</pluginname>
            </configuration>

and in liferay-plugin-package.properties:

 artifactId-version-deployment-context=artifactId-version

for example:

portlet-sample-1.0-deployment-context=portlet-sample-1.0

where artifactId = portlet-sample

and version = 1.0

After all I i built services, and redeployed my war.

I came to the solution because I debugged:

com.liferay.portal.kernel.bean.PortletBeanLocatorUtil

where

BeanLocator beanLocator = getBeanLocator(servletContextName);
is called which always returned null without versionnumber...

I hope someone helps this.
thumbnail
Chí Văn Ngô,修改在8 年前。

RE: BeanLocator has not been set for servlet context

New Member 帖子: 2 加入日期: 11-7-12 最近的帖子
You have to remove the duplication jar which created by this project. This error appears when I rename my project (for examples: prj-portlet to prjA-portlet, I need to remove prj-portlet-service.jar now)
Shahbaz Khan,修改在8 年前。

RE: BeanLocator has not been set for servlet context

Junior Member 帖子: 70 加入日期: 12-10-13 最近的帖子
Undeploy the portlet from the portal and then run clean, build service and then deploy the portlet.
shiv darshan,修改在6 年前。

RE: BeanLocator has not been set for servlet context

New Member 帖子: 10 加入日期: 17-10-5 最近的帖子
From My point of view . I got this problem due to this reason.
Cous:-


if your portal server is runing and you have deleted the server . and again you have imported the server and started . so that your server will start but it could not register the service portlet . becouse your newly added portlet u have't deployed your portlet container. that why your all service bean are not register with conatiner. and it will give you error.



soln:-

after importing the server ,start the server and do the build service and deploy of your portlet. than if your service is used by multiple portlet . than place in shared dir. than start the server . now it will work fine.
thumbnail
Brian Ko,修改在12 年前。

RE: BeanLocator has not been set for servlet context

Junior Member 帖子: 70 加入日期: 10-2-11 最近的帖子
Hi Jan,

I just found that portlet I created works fine on tomcat, but it fails with "BeanLocator has not been set for servlet context" error on Jboss. I am on Liferay EE sp2. I could not find anything different between 2 systems.

Brian
Naidu Jitta,修改在12 年前。

RE: BeanLocator has not been set for servlet context

New Member 帖子: 6 加入日期: 11-11-29 最近的帖子
Hi there,

By now you might have found the solution. Just in case it would be helpful for others in the same situation

I had the same problem and I was able to get rid of it by adding the listener to the web.xml

<listener>
<listener-class>com.liferay.portal.kernel.spring.context.PortletContextLoaderListener</listener-class>
</listener>
thumbnail
Brian Ko,修改在12 年前。

RE: BeanLocator has not been set for servlet context

Junior Member 帖子: 70 加入日期: 10-2-11 最近的帖子
Hi Naidu,

Thank you. I tried that without success.
I believe sometimes it works and sometimes it does not. I am waiting for 6.1 EE to try again.

Brian
Eugene Bova,修改在12 年前。

RE: BeanLocator has not been set for servlet context (答复)

New Member 发布: 1 加入日期: 12-3-27 最近的帖子
Hi there,

I had same issue. Additionally I observed one other case: web application is works properly after first deploy. But after server restart, BeanLocatorException throws.

It can be reproduced when you incorrect initialize classloader. There are three way how to get instance of classloader. See this article http://liferay-blogging.blogspot.com/2011/03/dynamicquery-api-and-classloaders-in.html

However my application works when classloader is init in this way
ClassLoader classLoader = (ClassLoader)PortletBeanLocatorUtil.locate(ClpSerializer.SERVLET_CONTEXT_NAME,"portletClassLoader");

And classLoader is not a static field - this is important.

In other cases BeanLocatorException can be throws after application server restart.
thumbnail
Richard Kosegi,修改在11 年前。

RE: BeanLocator has not been set for servlet context

New Member 帖子: 19 加入日期: 11-9-5 最近的帖子
Hi Eugene,

this sound like valuable info, thank you.
However, I expect this problem is caused by using nightly build of portal and SDK and deploying to little different version.

I will note your info in case I will face similar problem again.

Many thanks.

Richard
thumbnail
David H Nebinger,修改在11 年前。

RE: BeanLocator has not been set for servlet context

Liferay Legend 帖子: 14914 加入日期: 06-9-2 最近的帖子
You should not be using nightly builds for normal Liferay usage/development. Those are for the actual Liferay developers/contributors. Those builds would never represent a release version of Liferay.

If that's what you're using, it will be no surprise at all when you run into issues...
thumbnail
Richard Kosegi,修改在11 年前。

RE: BeanLocator has not been set for servlet context

New Member 帖子: 19 加入日期: 11-9-5 最近的帖子
Hi David,

I know, you're correct, but in 6.1 there was lot of features which I want to had in times where I run into issues (current stable release in that time was 6.0)

Richard.
thumbnail
Ali Shahrami,修改在11 年前。

RE: BeanLocator has not been set for servlet context

Junior Member 帖子: 52 加入日期: 09-8-1 最近的帖子
I have recently faced the very same issue, while trying to upgrade Tomcat, and found out that libraries in lib/ext folder were not loaded. After updating common.loader as below, the problem went away:

common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar,${catalina.home}/lib/ext,${catalina.home}/lib/ext/*.jar

You can find the common.loader in catalina.properties

Ali
thumbnail
mahdi lashkari,修改在11 年前。

RE: BeanLocator has not been set for servlet context

New Member 帖子: 7 加入日期: 12-5-2 最近的帖子
I have also faced this problem when I created an EntityFinder based on custom query. I done everything and service builder built for me an EntityFinderUtil that should be used in EntityLocalServiceUtil. But when I used EntityLocalServiceUtil, the error of BeanLocator has not been set for servlet occurred. The only thing that I done to resolve this problem was adding one bean tag to portlet-spring.xml about EntityFinderUtil .
<bean id="sut.mahdi.portletName.service.persistence.EntityFinderUtil" class="sut.mahdi.portletName.service.persistence.EntityFinderUtil" >
<property name="finder" ref="sut.mahdi.portletName.service.persistence.EntityFinder"></property>
</bean>
hope this help!
Mario Lueder,修改在11 年前。

RE: BeanLocator has not been set for servlet context

New Member 帖子: 5 加入日期: 12-6-25 最近的帖子
Thanks a lot, Mahdi Lashkari solution helped me and solved my problem.

I created also an EntityFinder myself like Mahdi Lashkari did. As long as I am using eclipse to deploy the portlet everything is working fine. But when I am deploying it using the war file, I am receiving the error message "BeanLocator has not been set for servlet"

Best regards
Mario
thumbnail
Aristide Cittadino,修改在9 年前。

RE: BeanLocator has not been set for servlet context

New Member 帖子: 5 加入日期: 13-10-16 最近的帖子
I had the same problem , the fix for me was that my project was named :"GD-RPA" but liferay plugin register the servlet context with "GD-RPA-portlet".
The service builder (Maven Task) generates classes registering the servlet context with the same name of the artifact id (in my case GD-RPA).
So liferay was registering at GD-RPA-portlet but my service classes were pointing to GD-RPA.
The fix is to name the artifact id with the "-portlet" suffix,

Hope it helps
thumbnail
Jobin Mathew,修改在9 年前。

RE: BeanLocator has not been set for servlet context

Junior Member 帖子: 77 加入日期: 14-7-4 最近的帖子
me too had the same issue,
This issue occurs only when we not adding "-portlet" suffix to the project name while we creating a portlet.
no need to change the hibernate.jar and all..
Thanks to Aristide Cittadino emoticon
Dan Overman,修改在8 年前。

RE: BeanLocator has not been set for servlet context

New Member 发布: 1 加入日期: 11-7-13 最近的帖子
I had the same problem. Whenever I tried calling a method from servicebuilder using ..localServiceUtil the same error occured. I tried all ways described in various posts but nothing worked. I even changed the name of portlet with suffix -portlet but it did not work.

Finally I created a new project with suffix as "-portlet". Thereafter everything worked and the Beanlocator error did not appear.

Thanks,
Sushant Agrawal
thumbnail
Felix Gonzalez de Santos,修改在8 年前。

RE: BeanLocator has not been set for servlet context

New Member 帖子: 5 加入日期: 11-2-12 最近的帖子
Sometimes the problem is that the project name has changed. In that case you must re-run maven goal liferay:build-service to generate the correct services names. All the info about context names is defined in the file ClpSerializer.java, exactly in the method getServletContextName().