【发布时间】:2013-06-07 05:38:54
【问题描述】:
我已将 solr 4.3 集成到我的 Web 应用程序中并添加了所有依赖项。当我通过 Eclipse juno 在 tomcat 上运行我的应用程序时,出现以下错误。
注意:如果我将 app.war 直接部署到 tomcat 的 webapp 目录,它似乎可以正常工作。
HTTP 状态 500 - {msg=SolrCore 'collection1' 由于初始化失败不可用:无法加载 solrconfig.xml 的配置,trace=org.apache.solr.common.SolrException: SolrCore 'collection1' 不可用由于初始化失败:无法在 org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:248) 的 org.apache.solr.core.CoreContainer.getCore(CoreContainer.java:1212) 加载 solrconfig.xml 的配置) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 在 org.apache.catalina.core.ApplicationFilterChain 的 org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:155)。 doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) at org.apache .catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) 在 org.apache.catalina.core.S tandardHostValve.invoke(StandardHostValve.java:171) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) at org .apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) 在 org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor .java:1008) 在 org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) 在 org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) 在 java。 util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:722) : org.apache.solr.common.SolrException: 无法在 org.apache.solr.core.CoreContainer.createFromLoca 加载 solrconfig.xml 的配置l(CoreContainer.java:919) 在 org.apache.solr.core.CoreContainer.create(CoreContainer.java:984) 在 org.apache.solr.core.CoreContainer$2.call(CoreContainer.java:597) 在 org. apache.solr.core.CoreContainer$2.call(CoreContainer.java:592) 在 java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) 在 java.util.concurrent.FutureTask.run(FutureTask.java :166) 在 java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) 在 java.util.concurrent.FutureTask 的 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)。 run(FutureTask.java:166) ... 3 更多原因:java.io.IOException: Can't find resource 'solrconfig.xml' in classpath or 'solr/collection1/conf/', cwd=/home/kumarkailash在 org.apache.solr.core.SolrResourceLoader.openResource(SolrResourceLoader.java:337) 在 org.apache.solr.core.SolrResourceLoader.openConfig(SolrResourceLoader.java:302) 在 org.apache.solr.core.Config.( Config.java:122) 在 org.apache.solr.core.Config.(Config.java:92) 在 org.apache.solr.cor e.SolrConfig.(SolrConfig.java:119) at org.apache.solr.core.CoreContainer.createFromLocal(CoreContainer.java:916) ... 11 更多 ,code=500}
输入状态报告
消息 {msg=SolrCore 'collection1' 由于 init 失败不可用:无法加载 solrconfig.xml 的配置,trace=org.apache.solr.common.SolrException: SolrCore 'collection1' 由于 init 不可用失败:无法在 org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:248) 的 org.apache.solr.core.CoreContainer.getCore(CoreContainer.java:1212) 加载 solrconfig.xml 的配置.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:155) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain .java:210) 位于 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) 的 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)。 org.apache.catalina.core.StandardHos 上的authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) tValve.invoke(StandardHostValve.java:171) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) at org .apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) 在 org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor .java:1008) 在 org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) 在 org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) 在 java。 util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:722) :org.apache.solr.common.SolrException:无法在org.apache.solr.core.CoreContainer.createFromLocal(CoreCont)加载solrconfig.xml的配置ainer.java:919) 在 org.apache.solr.core.CoreContainer.create(CoreContainer.java:984) 在 org.apache.solr.core.CoreContainer$2.call(CoreContainer.java:597) 在 org.apache。 solr.core.CoreContainer$2.call(CoreContainer.java:592) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166 ) 在 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 在 java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) 在 java.util.concurrent.FutureTask.run( FutureTask.java:166) ... 3 更多原因:java.io.IOException: Can't find resource 'solrconfig.xml' in classpath or 'solr/collection1/conf/', cwd=/home/kumarkailash at org .apache.solr.core.SolrResourceLoader.openResource(SolrResourceLoader.java:337) 在 org.apache.solr.core.SolrResourceLoader.openConfig(SolrResourceLoader.java:302) 在 org.apache.solr.core.Config.(Config. java:122) 在 org.apache.solr.core.Config.(Config.java:92) 在 org.apache.solr.core.SolrConf ig.(SolrConfig.java:119) at org.apache.solr.core.CoreContainer.createFromLocal(CoreContainer.java:916) ... 11 更多 ,code=500}
描述 服务器遇到了一个内部错误,导致它无法完成这个请求。 Apache Tomcat/7.0.40
请帮忙。谢谢
【问题讨论】:
-
你如何设置 solr home 属性来指示配置在哪里?
-
我目前在 tomcat catalina.sh 文件中设置 solr 主页。 export JAVA_OPTS="$JAVA_OPTS -Dsolr.solr.home=/home/kumarkailash/solr-4.3.0/example/solr"
-
当你从 eclipse 启动它时该设置是否适用?或者您可以尝试在 web.xml 本身中设置它吗?
-
NO 当我从 Eclipse 启动它时,该设置不会被应用。你能告诉我如何在 web.xml 中设置它吗?
-
检查注释的 solr.home 标签并取消注释并在其中设置正确的值