Configuration 将自定义请求处理程序添加到solr时类未找到异常
我必须在solr中编写自己的自定义请求处理程序,但我遇到了类似于org.apache.solr.common.SolrException的错误:加载类“QPRequestHandler”时出错。 这里QPRequestHandler是我想要插入SOLR 3.4的自定义处理程序 以下是我迄今为止所做的: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
<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/
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");
}
}