Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Solr Tomcat org.apache.Solr.common.SolrException:延迟加载错误_Java_Tomcat_Solr_Ubuntu 14.04 - Fatal编程技术网

Java Solr Tomcat org.apache.Solr.common.SolrException:延迟加载错误

Java Solr Tomcat org.apache.Solr.common.SolrException:延迟加载错误,java,tomcat,solr,ubuntu-14.04,Java,Tomcat,Solr,Ubuntu 14.04,Ubuntu 14.04 我使用sudo apt get install solr tomcat安装 看起来“核心”功能已经安装并正在运行,但没有任何插件(或者我只是不知道去哪里看) 我正在尝试使用的功能,这是一个插件 当我尝试时,我得到了这个 org.apache.solr.common.SolrException:延迟加载错误 位于org.apache.solr.core.RequestHandlers$LazyRequestHandlerWrapper.getWrappedHandler(

Ubuntu 14.04

我使用sudo apt get install solr tomcat安装

看起来“核心”功能已经安装并正在运行,但没有任何插件(或者我只是不知道去哪里看)

我正在尝试使用的功能,这是一个插件

当我尝试时,我得到了这个

org.apache.solr.common.SolrException:延迟加载错误 位于org.apache.solr.core.RequestHandlers$LazyRequestHandlerWrapper.getWrappedHandler(RequestHandlers.java:260) 位于org.apache.solr.core.RequestHandlers$LazyRequestHandlerWrapper.HandlerRequest(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.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 位于org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 位于org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 位于org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) 位于org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 位于org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) 位于org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861) 位于org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606) 位于org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) 运行(Thread.java:745) 原因:org.apache.solr.common.SolrException:加载类'solr.extraction.ExtractingRequestHandler'时出错 位于org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:414) 位于org.apache.solr.core.SolrCore.createInstance(SolrCore.java:419) 位于org.apache.solr.core.SolrCore.createRequestHandler(SolrCore.java:455) 位于org.apache.solr.core.RequestHandlers$LazyRequestHandlerWrapper.getWrappedHandler(RequestHandlers.java:251) ... 还有16个 原因:java.lang.ClassNotFoundException:solr.extraction.ExtractionRequestHandler 在java.net.URLClassLoader$1.run(URLClassLoader.java:366) 在java.net.URLClassLoader$1.run(URLClassLoader.java:355) 位于java.security.AccessController.doPrivileged(本机方法) 位于java.net.URLClassLoader.findClass(URLClassLoader.java:354) 位于java.lang.ClassLoader.loadClass(ClassLoader.java:425) 位于java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:789) 位于java.lang.ClassLoader.loadClass(ClassLoader.java:358) 位于java.lang.Class.forName0(本机方法) 位于java.lang.Class.forName(Class.java:274) 位于org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:398) ... 还有19个

我手动下载了最新版本只是为了进行调查,并找到了一个“extraction”目录,以及一个名为ExtractingRequestHandler.java的文件

我不是爪哇人。我寻找了一条类似于错误指示的路径,找到了“/usr/share/maven repo/org/apache/solr/solr-core”,它与“org.apache.solr.core”并不严格对应。所以,我对这里的假设犹豫不决

Solr正在搜索“extraction”目录——我只是不知道在哪里

我的solrconfig.xml文件包含以下内容

<requestHandler name="/update/extract" 
                  startup="lazy"
                  class="solr.extraction.ExtractingRequestHandler" >
    <lst name="defaults">
      <!-- All the main content goes into "text"... if you need to return
           the extracted text or do highlighting, use a stored field. -->
      <str name="fmap.content">text</str>
      <str name="lowernames">true</str>
      <str name="uprefix">ignored_</str>

      <!-- capture link hrefs but ignore div attributes -->
      <str name="captureAttr">true</str>
      <str name="fmap.a">links</str>
      <str name="fmap.div">ignored_</str>
    </lst>
  </requestHandler>

文本
真的
忽略_
真的
链接
忽略_
我尝试将提取目录复制到这两个目录中: /usr/share/maven repo/org/apache/solr/ /etc/solr

希望其中一个是“主”solr目录,没有运气

我补充说

<lib dir="/var/lib/solr/contrib/extraction/src/java/org/apache/solr/handler/extraction" />

访问我的solrconfig.xml,并在tomcat日志中观察到:

信息:将“file:/var/lib/solr/contrib/extraction/src/java/org/apache/solr/handler/extraction/ExtractingRequestHandler.java”添加到classloader

不过,运气不好

提前谢谢

编辑:

我检查了我的tomcat日志,看到了以下内容:

2014年11月23日12:53:44 AM org.apache.solr.core.RequestHandlers initHandlersFromConfig信息:添加惰性请求处理程序: solr.extraction.ExtractionRequestHandler

这很奇怪,因为它表明在solr.extraction.ExtractingRequestHandler上创建了一个“lazy requestHandler”,这与错误相矛盾:

加载类“solr.extraction.ExtractingRequestHandler”时出错

如果我从上面的配置中删除“startup='lazy'”属性,当我重新启动Tomcat时,会出现一个错误:

严重:org.apache.solr.common.SolrException:加载类时出错 'solr.extraction.ExtractingRequestHandler'


似乎您正在将源目录添加到类路径中—您需要将编译版本及其依赖项添加到类路径中

在正态分布(来自Solr主页)中,它位于
contrib/extraction/lib
,其中还捆绑了提取模块的其他依赖项

从该目录中的README.txt:

开始 您将需要Solr启动并运行。然后,只需添加extraction JAR文件和Tika依赖项(在./lib文件夹中) 到您的Solr Home lib目录。有关将其挂接的详细信息,请参见 和配置

尽管看起来您正在遵循一个旧版本的方法(从您的请求处理程序名称)。发行版中还捆绑了一个完整的示例

检索和提取文件:

$ wget http://<mirror>/lucene/solr/4.10.2/solr-4.10.2.tgz
$ tar xvzf solr-4.10.2.tgz
$ cd solr-4.10.2/contrib/extraction/lib/
$ ls
apache-mime4j-core-0.7.2.jar    pdfbox-1.8.4.jar
apache-mime4j-dom-0.7.2.jar     poi-3.10.1.jar
aspectjrt-1.6.11.jar            poi-ooxml-3.10.1.jar
bcmail-jdk15-1.45.jar           poi-ooxml-schemas-3.10.1.jar
bcprov-jdk15-1.45.jar           poi-scratchpad-3.10.1.jar
boilerpipe-1.1.0.jar            rome-0.9.jar
commons-compress-1.7.jar        tagsoup-1.2.1.jar
dom4j-1.6.1.jar                 tika-core-1.5.jar
fontbox-1.8.4.jar               tika-parsers-1.5.jar
icu4j-53.1.jar                  tika-xmp-1.5.jar
isoparser-1.0-RC-1.jar          vorbis-java-core-0.1.jar
jdom-1.0.jar                    vorbis-java-tika-0.1.jar
jempbox-1.8.4.jar               xercesImpl-2.9.1.jar
jhighlight-1.0.jar              xmlbeans-2.6.0.jar
juniversalchardet-1.0.3.jar     xmpcore-5.1.2.jar
metadata-extractor-2.6.2.jar    xz-1.4.jar
$wgethttp:///lucene/solr/4.10.2/solr-4.10.2.tgz
$tar xvzf