Solr/Tika 提取失败 NoSuchMethodError、Solr 3.6、Tika 1.0、Jboss 5.0.1
Posted
技术标签:
【中文标题】Solr/Tika 提取失败 NoSuchMethodError、Solr 3.6、Tika 1.0、Jboss 5.0.1【英文标题】:Solr/Tika Extract Fails NoSuchMethodError, Solr 3.6, Tika 1.0, Jboss 5.0.1 【发布时间】:2013-01-15 16:44:29 【问题描述】:我们在 JBOSS 中安装了多核 SOLR 3.6,具有 TIKA 提取功能。这是 Windows 2008 R2 VM 上的新安装。这种精确的设置已经在许多其他部署中起作用。这是调用“提取”时的堆栈跟踪:
2013-01-31 08:52:51,908 严重 [org.apache.solr.servlet.SolrDispatchFilter] java.lang.NoSuchMethodError: org.apache.tika.config.TikaConfig.(Ljava/lang/ClassLoader;)V 在 org.apache.solr.handler.extraction.ExtractingRequestHandler.getDefaultConfig(ExtractingRequestHandler.java:136) 在 org.apache.solr.handler.extraction.ExtractingRequestHandler.inform(ExtractingRequestHandler.java:95) 在 org.apache.solr.core.RequestHandlers$LazyRequestHandlerWrapper.getWrappedHandler(RequestHandlers.java:255) 在 org.apache.solr.core.RequestHandlers$LazyRequestHandlerWrapper.handleRequest(RequestHandlers.java:242) 在 org.apache.solr.core.SolrCore.execute(SolrCore.java:1376) 在 org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:365) 在 org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:260) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 在 org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235) 在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 在 org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190) 在 org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92) 在 org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126) 在 org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70) 在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 在 org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) 在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330) 在 org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829) 在 org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598) 在 org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) 在 java.lang.Thread.run(Thread.java:662)
【问题讨论】:
看起来您的类路径中可能有两个 Tika 副本,一个旧的,一个新的。可以查一下吗? 【参考方案1】:我遇到了类似的问题,得到 NoSuchMethodErrors。原来我的类路径中有一个旧版本的 metadata-extractor.jar,它与 tika.jar 中的相冲突。如果您能找到引发异常的特定 jar,则可能存在版本冲突。
【讨论】:
以上是关于Solr/Tika 提取失败 NoSuchMethodError、Solr 3.6、Tika 1.0、Jboss 5.0.1的主要内容,如果未能解决你的问题,请参考以下文章