7

この行でこの奇妙な例外が発生しています:

HttpSolrServer server = new  HttpSolrServer("http://localhost:8080/solr/");

スタックトレース:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/http/HttpRequestInterceptor
    at com.polgar.dipl.index.SolrIndex.init(SolrIndex.java:36)
    at com.polgar.dipl.index.SolrIndex.getInstance(SolrIndex.java:30)
    at com.polgar.dipl.main.ArticleIndexer.main(ArticleIndexer.java:44)
Caused by: java.lang.ClassNotFoundException: org.apache.http.HttpRequestInterceptor
    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)
    ... 3 more
4

4 に答える 4

19

同じ問題が発生します。私たちは両方ともSolr3.6で遊んでいる必要があります

HttpComponentsプロジェクトからHttpClientjarをダウンロードする必要がありました。それらはSolr3.6に含まれていないようです

http://hc.apache.org/downloads.cgi

3.6古いHttpClient(3.1)のものではなく、新しいHttpComponents(4.0)のものを使用する新しいバージョンのクライアントがあります。古い3.1jarはありますが、新しいjarはありません。

jarファイルをコピーすると、機能しました。

以下をコピーしました(すべてが必要なわけではありません)。

httpclient-4.1.3.jar
httpclient-cache-4.1.3.jar
httpcore-4.1.4.jar
httpmime-4.1.3.jar

今、私のために働いています。

于 2012-05-02T23:42:49.330 に答える
10

Mavenを使用してSOLRJを含める場合は、POMに次のフレーズも含める必要があります。

<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpclient</artifactId>
    <version>4.2.1</version>
</dependency>
<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpmime</artifactId>
    <version>4.2.1</version>
</dependency>
于 2012-09-17T19:16:39.740 に答える
0

ランタイムクラスパスにHttpClientJarファイルがないようです。

于 2012-05-02T23:12:03.970 に答える
0

私もこの問題に直面していました。これを解決するために、私は次のことを行いました。

  1. 「〜.m2 \ repository \ org \ apache\httpcomponents」ディレクトリで利用可能なhttpコンポーネントのバージョンを確認しました
  2. これに基づいて、pom.xmlファイルに次のエントリを追加し、実行して1つずつコマンドを実行mvn clean installしてプロジェクトを再構築します。mvn eclipse:eclipse(プロキシの背後にいる場合は、settings.xmlファイルで重要な構成を提供していることを確認してください)

これで問題は解決するはずです。:)

        <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
                <version>4.2.3</version>
        </dependency>
        <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpmime</artifactId>
                <version>4.2.3</version>
        </dependency>
于 2013-10-28T10:07:00.423 に答える