类在向solr添加自定义请求处理程序时未发现异常



我必须在solr中编写自己的自定义请求处理程序,但我得到的错误如org.apache.solr.common.SolrException:错误加载类'QPRequestHandler'

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

到目前为止我所做的是:

  1. apache-solr-3.4.0/example/solr/

  2. 中创建新目录lib
  3. 在solrconfig.xml(路径:apache-solr-3.4.0/example/solr/conf/solrconfig.xml)中我添加了这一行<lib dir="./lib" />

  4. 在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>
    

  5. QPRequestHandler的示例代码如下:

    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");
     }
    }
    
  6. 我把这个QPRequestHandler.java做了一个JAR文件,放在lib目录下,路径:apache-solr-3.4.0/example/solr/lib/

6重新启动solr:我得到错误像org.apache.solr.common.SolrException: Error loading class 'QPRequestHandler'

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

需要将类打包到jar文件中,该文件将由Solr加载。
您可以通过使用solr依赖的jar设置类路径来编译java文件。

相关内容

  • 没有找到相关文章

最新更新