Solr 4数据导入处理程序不起作用

时间:2013-06-25 19:31:18

标签: solr log4j dataimporthandler

我正在Tomcat 7中部署Solr 4.3.0。 一切正常,但DataImportHandler。我可以去

http://localhost:8080/solr/#/collection1/dataimport//dataimport

屏幕并查看UI上的dataimport选项加载。

仍然,我可以在“实体”组合框中看到我的任何实体加载。在配置框内,在右侧我可以看到下面的错误。

  

Apache Tomcat / 7.0.41 - 错误   报告      

525D76;} - > HTTP状态500 - 过滤器执行引发异常

     

noshade =“noshade”>

类型异常报告

消息   过滤器执行引发异常

描述   服务器遇到阻止它的内部错误   履行此请求。

例外

javax.servlet.ServletException: Filter execution threw an
exception 

根本原因

java.lang.NoClassDefFoundError: org/apache/log4j/spi/LoggingEvent
  org.apache.solr.logging.log4j.EventAppender.append(EventAppender.java:35)
  org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:251)
  org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:66)
  org.apache.log4j.Category.callAppenders(Category.java:206)
  org.apache.log4j.Category.forcedLog(Category.java:391)
  org.apache.log4j.Category.log(Category.java:856)
  org.slf4j.impl.Log4jLoggerAdapter.error(Log4jLoggerAdapter.java:498)
  org.apache.solr.common.SolrException.log(SolrException.java:119)
  org.apache.solr.servlet.ResponseUtils.getErrorInfo(ResponseUtils.java:58)
  org.apache.solr.servlet.SolrDispatchFilter.sendError(SolrDispatchFilter.java:691)
  org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:380)
  org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:155)

注意根本原因的完整堆栈跟踪是   可在Apache Tomcat / 7.0.41日志中找到。

Apache Tomcat / 7.0.41

问题是我在类路径中加载了“log4j-1.2.16.jar”(它位于Tomcat lib目录上)。

有人介入过这个问题吗?

3 个答案:

答案 0 :(得分:1)

尝试按照Using the example logging setup in containers other than Jetty中列出的步骤进行操作。运行Solr 4.3时遇到同样的错误,直到我按照这些步骤配置日志记录。

答案 1 :(得分:0)

您需要将slf4j-log4j12-1.6.6.jarext Solr复制到lib文件夹中。

您还需要将logging.properties文件放在那里。

答案 2 :(得分:0)

更改目录后,您是否更改了solrconfig.xml文件中的目录路径。

我只想确保在配置文件中进行更改后,是否重新启动了tomcat和solr服务器?