2014-09-18 5 views
0

Не знаю, почему мой код java не скомпилирован.Используйте Solr для индексации моей базы данных

Мне нужно проиндексировать мою базу данных с помощью solr.

Я запускаю свой сервер с помощью командной строки.

>cd C:\Solr\solr-4.10.0\solr-4.10.0\example\solr 
>java -jar start.jar 

После этого я создаю новый проект, содержащий мой класс, чтобы индексировать базу данных с помощью solr.

import java.io.File; 
import java.io.FileNotFoundException; 
import java.io.IOException; 



//import org.apache.lucene.index.IndexWriter; 
import org.apache.solr.client.solrj.SolrServer; 
import org.apache.solr.client.solrj.impl.HttpSolrServer;// CommonsHttpSolrServer; 
import org.apache.solr.client.solrj.request.ContentStreamUpdateRequest; 
import org.apache.solr.client.solrj.request.AbstractUpdateRequest.ACTION; 
import org.apache.solr.client.solrj.response.UpdateResponse; 
import org.apache.solr.common.SolrInputDocument; 
import org.apache.solr.client.solrj.impl.HttpSolrServer; 


public class IndexFiles { 

public static void main(String[] args) { 


     HttpSolrServer server = new HttpSolrServer("http://localhost:8983/solr/"); 
     // i use SolrServer but it generate same error like this from httpSolrServer 
     //SolrServer solr = new HttpSolrServer("http://localhost:8983/solr"); 
    /* 
     // TODO Auto-generated method stub 
    String urlString = "http://localhost:8989/solr"; 
    if (args != null & args.length > 1) { 
     urlString = args[1]; 
    } 

    SolrServer solr = new HttpSolrServer("http://localhost:8983/solr"); //CommonsHttpSolrServer(urlString); 
    try { 
     indexDocs(solr, new File(args[0])); 
    } catch (Exception e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
    */ 
    } 
} 

Я получаю эту ошибку:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/http/NoHttpResponseException 
at IndexFiles.main(IndexFiles.java:23) 
Caused by: java.lang.ClassNotFoundException: org.apache.http.NoHttpResponseException 
at java.net.URLClassLoader$1.run(Unknown Source) 
at java.net.URLClassLoader$1.run(Unknown Source) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.net.URLClassLoader.findClass(Unknown Source) 
at java.lang.ClassLoader.loadClass(Unknown Source) 
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
at java.lang.ClassLoader.loadClass(Unknown Source) 
... 1 more 

Как решить эту проблему?

ответ

0

Похоже, вы не добавили баночку httpclient (от dist/solrj-lib) к вашему пути к классам.

См Solrj вики страницу тему о: Setting the Classpath

+0

я не Обще-HttpClient !! – 2014-09-18 15:51:01

+0

Вы * попробовали * добавили 'httpclient-4.3.1.jar'? Вам также понадобится httpcore, и, скорее всего, commons-io и slf4j. Я считаю, что намерение состоит в том, что вы просто добавляете все банки из solrj-lib в свой путь к классам и отправляетесь на гонки. – femtoRgon

+0

Да, я добавил httpclient-4.3.1.jar, commons-io-2.3.jar, Solr-solrJ !! но он не работает! – 2014-09-18 16:49:02

Смежные вопросы