【发布时间】:2017-07-12 18:47:10
【问题描述】:
Sorl 有问题。尝试运行以下代码行时:
HttpSolrClient solr = new HttpSolrClient.Builder( "http://localhost:8983/solr/core" ).build();
我收到以下错误: 引起:java.lang.NoClassDefFoundError:
org/apache/http/impl/client/SystemDefaultHttpClient
at org.apache.solr.client.solrj.impl.HttpSolrClient.<init>(HttpSolrClient.java:211)
at org.apache.solr.client.solrj.impl.HttpSolrClient.<init>(HttpSolrClient.java:228)
at org.apache.solr.client.solrj.impl.HttpSolrClient$Builder.build(HttpSolrClient.java:890)
我在几篇文章中读到这可能是 Maven 的依赖问题,因为 Swagger 和 Sorl 都使用 httpClient。我将依赖项移动到同一个 pom 中,并将依赖项包装在 dependencymanagement 标记中。
完成此操作后,我运行了命令:mvn dependency:tree -Dverbose
查看树,很明显重复的依赖被删除了。但是,我仍然遇到同样的错误。
使用:
<dependency>
<groupId>org.apache.solr</groupId>
<artifactId>solr-solrj</artifactId>
<version>6.6.0</version>
</dependency>
任何帮助将不胜感激!
【问题讨论】: