2017-07-21 95 views
0

我想在java中使用elasticsearch版本5.5.0。所以这个我添加了maven依赖到pom.xmlElasticsearch 5.5.0 maven依赖问题

<dependency> 
    <groupId>org.elasticsearch</groupId> 
    <artifactId>elasticsearch</artifactId> 
    <version>5.5.0</version> 
</dependency> 

运行项目时抛出此异常。

java.lang.ClassNotFoundException: org.apache.lucene.document.Field$TermVector

对于这个问题加入这个依赖

<dependency> 
    <groupId>org.apache.lucene</groupId> 
    <artifactId>lucene-core</artifactId> 
    <version>4.3.0</version> 
</dependency> 

此异常抛出后。

nested exception is java.lang.NoSuchFieldError: LATEST

如何解决这个问题。 感谢

编辑

maven dependency tree

回答

0

ES 5.5.0使用Lucene的6.6.0所以,你应该用这种依赖性会转而

<dependency> 
    <groupId>org.apache.lucene</groupId> 
    <artifactId>lucene-core</artifactId> 
    <version>6.6.0</version> 
</dependency> 
+0

感谢您的回答。这个异常会抛出。 'java.lang.ClassNotFoundException:org.apache.lucene.document.Field $ TermVector' – ali

+0

你可以运行这个并用输出更新你的问题:'mvn dependency:tree -Dverbose'? – Val

+0

我把我的项目的依赖树。我使用'Intellij IDEA'。 – ali

0

尝试使用:

<dependency> 
    <groupId>org.elasticsearch</groupId> 
    <artifactId>elasticsearch</artifactId> 
    <version>5.4.0</version> 
</dependency> 
+0

谢谢。但第二个异常会抛出。 – ali