我必须在 solr 中编写自己的自定义请求处理程序,但我收到类似org.apache.solr.common.SolrException 的错误:加载类“QPRequestHandler”时出错
这里QPRequestHandler是我想插入我的 SOLR 3.4 的自定义处理程序
这是我到目前为止所做的:
在apache-solr-3.4.0/example/solr/中创建了新目录lib
在 solrconfig.xml(path: apache-solr-3.4.0/example/solr/conf/solrconfig.xml) 我添加了这一行
<lib dir="./lib" />
在 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 的示例代码是这样的:
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"); } }
我为此制作了一个 JAR 文件
QPRequestHandler.java
并将其放在lib目录中,路径:apache-solr-3.4.0/example/solr/lib/
6 重启 solr 后:我收到类似的错误org.apache.solr.common.SolrException: Error loading class 'QPRequestHandler'
问题可能是我正在创建 java 文件的 jar 文件而不是类文件,或者是否存在任何路径问题或配置错误。