2012-05-24 3 views
0

Я сконфигурировал solr on tomcat 7 в windows, поэтому, когда я вручную запускаю tomcat-сервер, и когда я нахожусь в solr, он очень хорошо просматривается в моем браузере.Solr setup на Tomcat 7 (с Eclipse)

и когда я пишу класс java с основным методом, результаты выводятся и отображаются на консоли.

public class Code{ 
public static void main(String[] args) throws MalformedURLException, SolrServerException { 
SolrServer solr = new CommonsHttpSolrServer("http://192.168.16.221:8080/solr"); 
ModifiableSolrParams params = new ModifiableSolrParams(); 
params.set("q", "subhash"); 

System.out.println("response = " + params); 
QueryResponse response = solr.query(params); 
System.out.println("response = " + response); 
} 
} 

Но когда я использую один и тот же код в методе и этот метод вызывается с помощью своего объекта эта ошибка показана

java.lang.NoClassDefFoundError: org/apache/solr/client/solrj/SolrServerException 

Нетерпеливо жду вашего ответа.

ответ

1

Вам нужно использовать параметр командной строки «-classpath» для «java», чтобы сообщить ему, где живут все библиотеки. По умолчанию CLASSPATH включает в себя только системные классы и т.п.

Так что, если у вас есть файл Code.class в текущем каталоге вместе с Solr-xyzjar, то вам нужно сделать что-то вроде этого:

$ java -classpath .:solr-x-y-z.jar Code 

Я был бы удивлен, если бы у Solr не было кучи собственных зависимостей, а это значит, что вам нужно будет добавить кучу JAR-файлов в ваш -classpath, подобный выше.

Это Java 101.

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