Класс не найден исключение при добавлении пользовательского обработчика запроса в Solr - PullRequest
1 голос
/ 01 ноября 2011

Мне нужно написать свой собственный обработчик пользовательских запросов в solr, но я получаю сообщение об ошибке, например org.apache.solr.common.SolrException: ошибка загрузки класса 'QPRequestHandler'

Здесь QPRequestHandler - мой пользовательский обработчик, который я хочу подключить к своему SOLR 3.4

Вот что я сделал до сих пор:

  1. Создан новый каталог lib в apache-solr-3.4.0 / example / solr /

  2. в solrconfig.xml (путь: apache-solr-3.4.0/example/solr/conf/solrconfig.xml) я добавил эту строку <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. Я сделал JAR-файл этого QPRequestHandler.java и поставилэто в каталоге lib , путь: apache-solr-3.4.0/example/solr/lib/

6 После перезапуска solr: я получаю сообщение об ошибке типа org.apache.solr.common.SolrException: Error loading class 'QPRequestHandler'

Возможно, проблемачто я создаю jar-файл java-файлаe, а не файл класса, или есть какие-либо проблемы с путями или ошибка конфигурации.

1 Ответ

0 голосов
/ 01 ноября 2011

Вам нужно будет упаковать класс в файл jar, который будет загружен Solr.
Вы можете скомпилировать файл java, установив classpath с помощью jar, зависящих от solr.

...