0

WindowsのTomcat 7でsolrを構成したので、Tomcatサーバーを手動で起動し、solrを押すと、ブラウザで非常によく検索されます。

次のように main メソッドを使用して 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

お返事をお待ちしております。

4

1 に答える 1

1

必要なすべてのライブラリがどこにあるかを伝えるために、「-classpath」コマンドラインオプションを「java」に使用する必要があります。デフォルトの CLASSPATH には、システム クラスなどのみが含まれます。

したがって、現在のディレクトリに solr-xyzjar とともに Code.class ファイルがある場合は、次のようにする必要があります。

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

Solr に独自の依存関係が多数ない場合、つまり、上記のように -classpath に多数の JAR ファイルを含める必要がある場合は驚くでしょう。

これは Java 101 です。

于 2012-05-24T15:16:21.573 に答える