【问题标题】:Hybris - I can't start the server due to some unknown errorHybris - 由于一些未知错误,我无法启动服务器
【发布时间】:2017-10-21 23:38:51
【问题描述】:

我尝试做 ant build、ant clean all、SVN checkout a clean 并在我工作的文件服务器上重新下载副本。它在其他机器(我的同事)上运行良好,但对我来说,它似乎无法在 hybrisserver.bat 之后启动,我找不到问题。

我认为这可能与 Solr 服务器有关。

这是出现的一些控制台消息:

>         at de.hybris.platform.core.Registry.startup(Registry.java:422)
>         at de.hybris.platform.spring.HybrisContextLoaderListener.startRegistry(H
> ybrisContextLoaderListener.java:237)
>         at de.hybris.platform.spring.HybrisContextLoaderListener.doInitWebApplic
> ationContext(HybrisContextLoaderListener.java:135)
>         at de.hybris.platform.spring.HybrisContextLoaderListener.initWebApplicat
> ionContext(HybrisContextLoaderListener.java:125)
>         at org.springframework.web.context.ContextLoaderListener.contextInitiali
> zed(ContextLoaderListener.java:106)
>         at de.hybris.platform.spring.HybrisContextLoaderListener.contextInitiali
> zed(HybrisContextLoaderListener.java:80)
>         at org.apache.catalina.core.StandardContext.listenerStart(StandardContex
> t.java:5016)
>         at org.apache.catalina.core.StandardContext.startInternal(StandardContex
> t.java:5524)
>         at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
>         at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.
> java:1575)
>         at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.
> java:1565)
>         at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.
> java:1142)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
> .java:617)
>         at java.lang.Thread.run(Thread.java:748) INFO  [localhost-startStop-1] [HybrisContextFactory] Initializing <<global>>
> Spr ing ApplicationContext took: (22.52 I¼s)
> de.hybris.platform.core.UninstantiableCoreApplicationContextException:
> Error cre ating Spring application context.
>         at de.hybris.platform.core.AbstractTenant.doStartupSafe(AbstractTenant.j
> ava:728)
>         at de.hybris.platform.core.AbstractTenant.doStartUp(AbstractTenant.java:
> 658)
>         at de.hybris.platform.core.Registry.assureTenantStarted(Registry.java:63
> 9)
>         at de.hybris.platform.core.Registry.activateTenant(Registry.java:700)
>         at de.hybris.platform.core.Registry.setCurrentTenant(Registry.java:544)
>         at de.hybris.platform.core.Registry.activateMasterTenant(Registry.java:6
> 07)
>         at de.hybris.platform.core.Registry.startup(Registry.java:422)
>         at de.hybris.platform.spring.HybrisContextLoaderListener.startRegistry(H
> ybrisContextLoaderListener.java:237)
>         at de.hybris.platform.spring.HybrisContextLoaderListener.doInitWebApplic
> ationContext(HybrisContextLoaderListener.java:135)
>         at de.hybris.platform.spring.HybrisContextLoaderListener.initWebApplicat
> ionContext(HybrisContextLoaderListener.java:125)
>         at org.springframework.web.context.ContextLoaderListener.contextInitiali
> zed(ContextLoaderListener.java:106)
>         at de.hybris.platform.spring.HybrisContextLoaderListener.contextInitiali
> zed(HybrisContextLoaderListener.java:80)
>         at org.apache.catalina.core.StandardContext.listenerStart(StandardContex
> t.java:5016)
>         at org.apache.catalina.core.StandardContext.startInternal(StandardContex
> t.java:5524)
>         at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
>         at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.
> java:1575)
>         at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.
> java:1565)
>         at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.
> java:1142)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
> .java:617)
>         at java.lang.Thread.run(Thread.java:748) Caused by: org.springframework.beans.FatalBeanException: Context hybris Global C
> ontext Factory  couldn't  be created correctly due to, Error creating
> bean with name 'defaultSolrServerService' defined in class path
> resource [global-solrserve r-spring.xml]: Invocation of init method
> failed; nested exception is de.hybris.p
> latform.solrserver.SolrServerException: Error while executing Solr
> start command  for instance: [name: default, port: 8983]
>         at de.hybris.platform.core.HybrisContextFactory.build(HybrisContextFacto
> ry.java:317)
>         at de.hybris.platform.core.HybrisContextFactory$GlobalContextFactory.bui
> ldSelf(HybrisContextFactory.java:189)
>         at de.hybris.platform.core.HybrisContextFactory$GlobalContextFactory.bui
> ld(HybrisContextFactory.java:175)
>         at de.hybris.platform.core.HybrisContextHolder.getGlobalInstanceCached(H
> ybrisContextHolder.java:134)
>         at de.hybris.platform.core.HybrisContextHolder.getGlobalInstance(HybrisC
> ontextHolder.java:113)
>         at de.hybris.platform.core.HybrisContextHolder.getAppCtxFactory(HybrisCo
> ntextHolder.java:164)
>         at de.hybris.platform.core.HybrisContextHolder.getApplicationInstance(Hy
> brisContextHolder.java:90)
>         at de.hybris.platform.core.AbstractTenant.createCoreApplicationContext(A
> bstractTenant.java:686)
>         at de.hybris.platform.core.AbstractTenant.doStartupSafe(AbstractTenant.j
> ava:724)
>         ... 20 more Error creating Spring application context. Shutting down hybris platform since t he system cannot be used without
> working Spring context... shutting down hybris registry.. INFO 
> [Thread-1] [HybrisContextFactory] Initializing <<global>> Spring
> Applicati onContext took: (16.99 I¼s) ERROR [Thread-1] [JMXBeanLoader]
> Can't unregister jmxbeans on shutdown of the te nant <<master>>
> org.springframework.beans.FatalBeanException: Context hybris Global
> Context Fact ory  couldn't  be created correctly due to, Error
> creating bean with name 'defau ltSolrServerService' defined in class
> path resource [global-solrserver-spring.xm l]: Invocation of init
> method failed; nested exception is de.hybris.platform.sol
> rserver.SolrServerException: Error while executing Solr start command
> for instan ce: [name: default, port: 8983]
>         at de.hybris.platform.core.HybrisContextFactory.build(HybrisContextFacto
> ry.java:317)
>         at de.hybris.platform.core.HybrisContextFactory$GlobalContextFactory.bui
> ldSelf(HybrisContextFactory.java:189)
>         at de.hybris.platform.core.HybrisContextFactory$GlobalContextFactory.bui
> ld(HybrisContextFactory.java:175)
>         at de.hybris.platform.core.HybrisContextHolder.getGlobalInstanceCached(H
> ybrisContextHolder.java:134)
>         at de.hybris.platform.core.HybrisContextHolder.getGlobalInstance(HybrisC
> ontextHolder.java:113)
>         at de.hybris.platform.core.Registry.getSingletonGlobalApplicationContext
> (Registry.java:1059)
>         at de.hybris.platform.core.JMXBeanLoader.getMBeanRegistry(JMXBeanLoader.
> java:155)
>         at de.hybris.platform.core.JMXBeanLoader.beforeTenantShutDown(JMXBeanLoa
> der.java:116)
>         at de.hybris.platform.core.AbstractTenant.notifyTenantListenersBeforeShu
> tdown(AbstractTenant.java:1236)
>         at de.hybris.platform.core.AbstractTenant.doShutdown(AbstractTenant.java
> :987)
>         at de.hybris.platform.core.AbstractTenant.doShutDown(AbstractTenant.java
> :948)
>         at de.hybris.platform.core.Registry.destroy(Registry.java:309)
>         at de.hybris.platform.util.RedeployUtilities.shutdown(RedeployUtilities.
> java:74)
>         at de.hybris.platform.util.RedeployUtilities$1.run(RedeployUtilities.jav
> a:38) error notifying tenant listener : null
> java.lang.NullPointerException
>         at de.hybris.platform.jalo.JaloConnection$AbstractSynchronizedPropertyGe
> tter.get(JaloConnection.java:1142)
>         at de.hybris.platform.jalo.JaloConnection.getExtensionManager(JaloConnec
> tion.java:1084)
>         at de.hybris.platform.mobileservices.jalo.MobileManager.getInstance(Mobi
> leManager.java:130)
>         at de.hybris.platform.mobileservices.jalo.MobileManager$1.beforeTenantSh
> utDown(MobileManager.java:92)
>         at de.hybris.platform.core.AbstractTenant.notifyTenantListenersBeforeShu
> tdown(AbstractTenant.java:1236)
>         at de.hybris.platform.core.AbstractTenant.doShutdown(AbstractTenant.java
> :987)
>         at de.hybris.platform.core.AbstractTenant.doShutDown(AbstractTenant.java
> :948)
>         at de.hybris.platform.core.Registry.destroy(Registry.java:309)
>         at de.hybris.platform.util.RedeployUtilities.shutdown(RedeployUtilities.
> java:74)
>         at de.hybris.platform.util.RedeployUtilities$1.run(RedeployUtilities.jav
> a:38) INFO  [Thread-1] [HybrisContextFactory] Initializing <<global>>
> Spring Applicati onContext took: (22.52 I¼s) ERROR [Thread-1]
> [RegionCacheAdapter] Unable to clear cache. Failed on region nu ll.
> Last key null null org.springframework.beans.FatalBeanException:
> Context hybris Global Context Fact ory  couldn't  be created correctly
> due to, Error creating bean with name 'defau ltSolrServerService'
> defined in class path resource [global-solrserver-spring.xm l]:
> Invocation of init method failed; nested exception is
> de.hybris.platform.sol rserver.SolrServerException: Error while
> executing Solr start command for instan ce: [name: default, port:
> 8983]
>         at de.hybris.platform.core.HybrisContextFactory.build(HybrisContextFacto
> ry.java:317)
>         at de.hybris.platform.core.HybrisContextFactory$GlobalContextFactory.bui
> ldSelf(HybrisContextFactory.java:189)
>         at de.hybris.platform.core.HybrisContextFactory$GlobalContextFactory.bui
> ld(HybrisContextFactory.java:175)
>         at de.hybris.platform.core.HybrisContextHolder.getGlobalInstanceCached(H
> ybrisContextHolder.java:134)
>         at de.hybris.platform.core.HybrisContextHolder.getGlobalInstance(HybrisC
> ontextHolder.java:113)
>         at de.hybris.platform.core.Registry.getSingletonGlobalApplicationContext
> (Registry.java:1059)
>         at de.hybris.platform.cache.impl.RegionCacheAdapter.getController(Region
> CacheAdapter.java:76)
>         at de.hybris.platform.cache.impl.RegionCacheAdapter.clear(RegionCacheAda
> pter.java:288)
>         at de.hybris.platform.core.AbstractTenant.shutdownCache(AbstractTenant.j
> ava:1061)
>         at de.hybris.platform.core.AbstractTenant.doShutdown(AbstractTenant.java
> :1003)
>         at de.hybris.platform.core.AbstractTenant.doShutDown(AbstractTenant.java
> :948)
>         at de.hybris.platform.core.Registry.destroy(Registry.java:309)
>         at de.hybris.platform.util.RedeployUtilities.shutdown(RedeployUtilities.
> java:74)
>         at de.hybris.platform.util.RedeployUtilities$1.run(RedeployUtilities.jav
> a:38) org.springframework.beans.FatalBeanException: Context hybris
> Global Context Fact ory  couldn't  be created correctly due to, Error
> creating bean with name 'defau ltSolrServerService' defined in class
> path resource [global-solrserver-spring.xm l]: Invocation of init
> method failed; nested exception is de.hybris.platform.sol
> rserver.SolrServerException: Error while executing Solr start command
> for instan ce: [name: default, port: 8983]
>         at de.hybris.platform.core.HybrisContextFactory.build(HybrisContextFacto
> ry.java:317)
>         at de.hybris.platform.core.HybrisContextFactory$GlobalContextFactory.bui
> ldSelf(HybrisContextFactory.java:189)
>         at de.hybris.platform.core.HybrisContextFactory$GlobalContextFactory.bui
> ld(HybrisContextFactory.java:175)
>         at de.hybris.platform.core.HybrisContextHolder.getGlobalInstanceCached(H
> ybrisContextHolder.java:134)
>         at de.hybris.platform.core.HybrisContextHolder.getGlobalInstance(HybrisC
> ontextHolder.java:113)
>         at de.hybris.platform.core.Registry.getSingletonGlobalApplicationContext
> (Registry.java:1059)
>         at de.hybris.platform.cache.impl.RegionCacheAdapter.getController(Region
> CacheAdapter.java:76)
>         at de.hybris.platform.cache.impl.RegionCacheAdapter.clear(RegionCacheAda
> pter.java:288)
>         at de.hybris.platform.core.AbstractTenant.shutdownCache(AbstractTenant.j
> ava:1061)
>         at de.hybris.platform.core.AbstractTenant.doShutdown(AbstractTenant.java
> :1003)
>         at de.hybris.platform.core.AbstractTenant.doShutDown(AbstractTenant.java
> :948)
>         at de.hybris.platform.core.Registry.destroy(Registry.java:309)
>         at de.hybris.platform.util.RedeployUtilities.shutdown(RedeployUtilities.
> java:74)
>         at de.hybris.platform.util.RedeployUtilities$1.run(RedeployUtilities.jav
> a:38) INFO  [Thread-1] [HybrisContextFactory] Initializing <<global>>
> Spring Applicati onContext took: (10.27 I¼s) ERROR [Thread-1]
> [RegionCacheAdapter] Unable to clear cache. Failed on region nu ll.
> Last key null null org.springframework.beans.FatalBeanException:
> Context hybris Global Context Fact ory  couldn't  be created correctly
> due to, Error creating bean with name 'defau ltSolrServerService'
> defined in class path resource [global-solrserver-spring.xm l]:
> Invocation of init method failed; nested exception is
> de.hybris.platform.sol rserver.SolrServerException: Error while
> executing Solr start command for instan ce: [name: default, port:
> 8983]
>         at de.hybris.platform.core.HybrisContextFactory.build(HybrisContextFacto
> ry.java:317)
>         at de.hybris.platform.core.HybrisContextFactory$GlobalContextFactory.bui
> ldSelf(HybrisContextFactory.java:189)
>         at de.hybris.platform.core.HybrisContextFactory$GlobalContextFactory.bui
> ld(HybrisContextFactory.java:175)
>         at de.hybris.platform.core.HybrisContextHolder.getGlobalInstanceCached(H
> ybrisContextHolder.java:134)
>         at de.hybris.platform.core.HybrisContextHolder.getGlobalInstance(HybrisC
> ontextHolder.java:113)
>         at de.hybris.platform.core.Registry.getSingletonGlobalApplicationContext
> (Registry.java:1059)
>         at de.hybris.platform.cache.impl.RegionCacheAdapter.getController(Region
> CacheAdapter.java:76)
>         at de.hybris.platform.cache.impl.RegionCacheAdapter.clear(RegionCacheAda
> pter.java:288)
>         at de.hybris.platform.cache.impl.RegionCacheAdapter.destroy(RegionCacheA
> dapter.java:521)
>         at de.hybris.platform.core.AbstractTenant.shutdownCache(AbstractTenant.j
> ava:1071)
>         at de.hybris.platform.core.AbstractTenant.doShutdown(AbstractTenant.java
> :1003)
>         at de.hybris.platform.core.AbstractTenant.doShutDown(AbstractTenant.java
> :948)
>         at de.hybris.platform.core.Registry.destroy(Registry.java:309)
>         at de.hybris.platform.util.RedeployUtilities.shutdown(RedeployUtilities.
> java:74)
>         at de.hybris.platform.util.RedeployUtilities$1.run(RedeployUtilities.jav
> a:38) org.springframework.beans.FatalBeanException: Context hybris
> Global Context Fact ory  couldn't  be created correctly due to, Error
> creating bean with name 'defau ltSolrServerService' defined in class
> path resource [global-solrserver-spring.xm l]: Invocation of init
> method failed; nested exception is de.hybris.platform.sol
> rserver.SolrServerException: Error while executing Solr start command
> for instan ce: [name: default, port: 8983]
>         at de.hybris.platform.core.HybrisContextFactory.build(HybrisContextFacto
> ry.java:317)
>         at de.hybris.platform.core.HybrisContextFactory$GlobalContextFactory.bui
> ldSelf(HybrisContextFactory.java:189)
>         at de.hybris.platform.core.HybrisContextFactory$GlobalContextFactory.bui
> ld(HybrisContextFactory.java:175)
>         at de.hybris.platform.core.HybrisContextHolder.getGlobalInstanceCached(H
> ybrisContextHolder.java:134)
>         at de.hybris.platform.core.HybrisContextHolder.getGlobalInstance(HybrisC
> ontextHolder.java:113)
>         at de.hybris.platform.core.Registry.getSingletonGlobalApplicationContext
> (Registry.java:1059)
>         at de.hybris.platform.cache.impl.RegionCacheAdapter.getController(Region
> CacheAdapter.java:76)
>         at de.hybris.platform.cache.impl.RegionCacheAdapter.clear(RegionCacheAda
> pter.java:288)
>         at de.hybris.platform.cache.impl.RegionCacheAdapter.destroy(RegionCacheA
> dapter.java:521)
>         at de.hybris.platform.core.AbstractTenant.shutdownCache(AbstractTenant.j
> ava:1071)
>         at de.hybris.platform.core.AbstractTenant.doShutdown(AbstractTenant.java
> :1003)
>         at de.hybris.platform.core.AbstractTenant.doShutDown(AbstractTenant.java
> :948)
>         at de.hybris.platform.core.Registry.destroy(Registry.java:309)
>         at de.hybris.platform.util.RedeployUtilities.shutdown(RedeployUtilities.
> java:74)
>         at de.hybris.platform.util.RedeployUtilities$1.run(RedeployUtilities.jav
> a:38) INFO  [Thread-1] [DefaultClusterNodeManagementService]
> Unregistering assigned cl uster node id 0... <-- Wrapper Stopped

更新/解决方案:问题是 SOLR 服务器不允许目录中有空格。

【问题讨论】:

  • 无论何时安装 Hybris 套装,只要确保路径清晰且没有空格即可。长目录路径也会产生同样的问题。

标签: solr ant hybris


【解决方案1】:

由于以前的 solr 服务器仍在占用 8983 端口,我也发生了同样的错误。我尝试停止 solrserver 但没有帮助,然后我使用以下命令列出所有打开的端口:

lsof -PiTCP -sTCP:LISTEN 

然后杀死正在监听 8983 的 java pid。

kill <pid>

【讨论】:

    【解决方案2】:

    我在 6.2 设置中遇到了这个问题,终于能够解决这个问题。 发生这种情况是由于特别是两个 JAR 是“Jackson-core 和 Jackson-annotations”,这些 jar 需要更新为最新版本(我替换为 2.9.2 版本) 这为我解决了问题!

    【讨论】:

      【解决方案3】:

      是的。我做到了。在文件 local.properties 中的我的配置文件夹下添加了 solrserver.instances.default.autostart=false。它对我有用。

      【讨论】:

        【解决方案4】:

        在我的情况下发生了同样的问题,我检查了,由于一些错误的拉取或在结帐到不同的分支期间,我丢失了我的 solr.xml 文件。

        尝试添加回来,它会工作

        【讨论】:

        • 怎么加回去?
        【解决方案5】:

        首先,检查所有环境变量是否正确。特别是JAVA_HOME,如果它有正确的路径。如果仍有问题,请尝试停止 SOLR 服务器:ant stopSolrServer。您还可以通过将其添加到 .properties 文件中来阻止 solr 自动启动。

        solrserver.instances.default.autostart=false
        

        您也可以尝试更改默认端口

        solrserver.instances.default.port=8984
        

        【讨论】:

        • 我应该把提到的设置放在哪里?在核心的 *.properties 中?
        • 在 /config 文件夹中的 local.properties 文件中。
        • 找出问题所在。对于 Solr,似乎服务器不允许带有空格的目录名称。为什么会这样设计,挺奇葩的。
        • 这通常用于 unix 系统,其中目录名称中的空格是一种不好的做法,通常是一种不好的命名约定。
        • 关于这个解决方案:solrserver.instances.default.autostart=false,它将阻止搜索功能和产品在 StoreFront 和 BackOffice 上显示。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-09-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多