1

我寫我自己的自定義請求處理程序Solr的,但我得到錯誤,如org.apache.solr.common.SolrException:錯誤加載類「QPRequestHandler」類未發現異常,同時增加自定義請求處理程序SOLR

這裏QPRequestHandler是,我想插到我SOLR我的自定義處理3.4

這裏是我做了什麼至今:

  1. 科瑞Apache的solr的-3.4.0 /示例/ solr的/ CONF/solrconfig.xml中:在阿帕奇-的solr-3.4.0 /示例/ solr的/

  2. 在solrconfig.xml中(路徑編新目錄LIB )我已經加入這行<lib dir="./lib" />

  3. 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> 
    

  4. 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"); 
    } 
    } 
    
  5. 我做了這個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文件,而不是類文件或者是還有什麼路徑問題或配置錯誤。

回答

0

您需要的類打包成jar文件,這將由Solr的加載。
您可以通過設置與Solr的依賴罐子類路徑編譯Java文件。

+0

是路徑罰款? – Elvis

+0

是的......我在Solr 3.3 build上測試過,效果很好。 – Jayendra

+0

嘿感謝一噸的幫助,你能不能也告訴我的Solr的jar文件,我應該加入其中,以我的類路徑中,這樣我可以編譯requesthandler獨立。 – Elvis

相關問題