0

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

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

屏幕并查看 UI 中加载的数据导入选项。

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

Apache Tomcat/7.0.41 - 错误报告

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

noshade="noshade">

类型异常报告

消息 过滤器执行抛出异常

描述 服务器遇到一个内部错误,阻止它完成这个请求。

例外

javax.servlet.ServletException:过滤器执行抛出一个
例外

根本原因

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)

note Apache Tomcat/7.0.41 日志中提供了根本原因的完整堆栈跟踪。

Apache Tomcat/7.0.41

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

有人介入过这个问题吗?

4

3 回答 3

1

尝试按照在Jetty 以外的容器中使用示例日志记录设置中概述的步骤进行操作。在我按照这些步骤配置日志记录之前,我在运行 Solr 4.3 时遇到了同样的错误。

于 2013-06-25T20:05:43.067 回答
0

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

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

于 2013-06-25T23:05:56.717 回答
0

您需要slf4j-log4j12-1.6.6.jarextof复制Solrlib文件夹中。

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

于 2013-06-25T19:48:42.610 回答