Java 实例化HttpSolrServer时出现IllegaAccess错误
我在Maven项目下对我的类执行SolrQuery。尝试执行查询时,我遇到以下错误:Java 实例化HttpSolrServer时出现IllegaAccess错误,java,maven,solr,solrj,Java,Maven,Solr,Solrj,我在Maven项目下对我的类执行SolrQuery。尝试执行查询时,我遇到以下错误: SEVERE: java.lang.IllegalAccessError: tried to access field org.slf4j.impl.StaticLoggerBinder.SINGLETON from class org.slf4j.LoggerFactory at org.slf4j.LoggerFactory.staticInitialize(LoggerFactory.java:83) a
SEVERE: java.lang.IllegalAccessError: tried to access field org.slf4j.impl.StaticLoggerBinder.SINGLETON from class org.slf4j.LoggerFactory
at org.slf4j.LoggerFactory.staticInitialize(LoggerFactory.java:83)
at org.slf4j.LoggerFactory.<clinit>(LoggerFactory.java:73)
at org.apache.solr.client.solrj.impl.HttpSolrServer.<clinit>(HttpSolrServer.java:91)
....
SEVERE:java.lang.IllegalAccessError:试图从org.slf4j.LoggerFactory类访问字段org.slf4j.impl.StaticLoggerBinder.SINGLETON
位于org.slf4j.LoggerFactory.staticInitialize(LoggerFactory.java:83)
登录org.slf4j.LoggerFactory(LoggerFactory.java:73)
位于org.apache.solr.client.solrj.impl.HttpSolrServer(HttpSolrServer.java:91)
....
以下是我的pom.xml:
<dependency>
<groupId>org.apache.solr</groupId>
<artifactId>solr-core</artifactId>
<version>4.8.1</version>
</dependency>
<dependency>
<groupId>org.apache.solr</groupId>
<artifactId>solr-solrj</artifactId>
<version>4.8.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.12</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.12</version>
</dependency>
org.apache.solr
solr核
4.8.1
org.apache.solr
索尔索尔
4.8.1
org.slf4j
slf4j api
1.7.12
org.slf4j
slf4j-log4j12
1.7.12
它正在另一个项目中工作,该项目不使用Maven,而是通过添加JAR。我在Maven中使用了与普通web项目相同的版本。
有人能帮助解决这个问题吗?您应该删除slf4j依赖项。SolrJ正在引入这些依赖项的不同版本。看起来您正在拉入的版本覆盖了SorlJ使用的旧版本。这应该是导致错误的原因。我删除了slf4j依赖项,但我一直收到相同的异常。我将尝试删除所有依赖项并一步一步地进行。不管怎样,谢谢不,它也不起作用。我删除了由SolrJ拉取的所有其他依赖项。