Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.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
Configuration 将自定义请求处理程序添加到solr时类未找到异常_Configuration_Solr_Classnotfoundexception_Requesthandler - Fatal编程技术网

Configuration 将自定义请求处理程序添加到solr时类未找到异常

Configuration 将自定义请求处理程序添加到solr时类未找到异常,configuration,solr,classnotfoundexception,requesthandler,Configuration,Solr,Classnotfoundexception,Requesthandler,我必须在solr中编写自己的自定义请求处理程序,但我遇到了类似于org.apache.solr.common.SolrException的错误:加载类“QPRequestHandler”时出错。 这里QPRequestHandler是我想要插入SOLR 3.4的自定义处理程序 以下是我迄今为止所做的: 在apache-solr-3.4.0/example/solr/ 在solrconfig.xml(路径:apache-solr-3.4.0/example/solr/conf/solrconfig

我必须在solr中编写自己的自定义请求处理程序,但我遇到了类似于org.apache.solr.common.SolrException的错误:加载类“QPRequestHandler”时出错。

这里QPRequestHandler是我想要插入SOLR 3.4的自定义处理程序

以下是我迄今为止所做的:

  • 在apache-solr-3.4.0/example/solr/

  • 在solrconfig.xml(路径:apache-solr-3.4.0/example/solr/conf/solrconfig.xml)中,我添加了这行代码

  • 在solrconfig.xml中,我添加了如下自定义处理程序:

    <requestHandler name="/mytesthandler" class="QPRequestHandler">
    <!-- initialization args may optionally be defined here -->
     <lst name="defaults">
       <str name="d1">d1 value</str>
     </lst>
     <lst name="invariants">
       <str name="i1">i1 value</str>
     </lst>
    
  • 我为这个
    QPRequestHandler.java
    创建了一个JAR文件,并将其放入lib目录,路径:
    apache-solr-3.4.0/example/solr/lib/

  • 6重新启动solr后:我收到类似于
    org.apache.solr.common.SolrException的错误:加载类“QPRequestHandler”时出错


    问题可能是我正在创建java文件的jar文件,而不是类文件,或者存在任何路径问题或配置错误。

    您需要将类打包到jar文件中,然后由Solr加载。

    您可以通过使用依赖于solr的jar设置类路径来编译java文件。

    嘿,非常感谢您的帮助,您还可以告诉我应该将solr的哪些jar文件添加到我的类路径中,这样我就可以独立编译requesthandler了。
    public class QPRequestHandler extends RequestHandlerBase {
    
    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
    
    }
    
    @Override
    public void init(NamedList args) {
      // do nothing
    }
    
     @Override
     public void handleRequestBody(SolrQueryRequest req, SolrQueryResponse rsp) throws Exception {
         rsp.add("key1", "value1");
     }
    }