elasticsearch - 使用 ElasticSearch 和 Lucene 在线程“main”java.lang.NoSuchFieldError 中获取异常:LUCENE_7_2_1
问题描述
我正在使用以下依赖项-
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-core</artifactId>
<version>7.2.0</version>
</dependency>
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-join</artifactId>
<version>7.1.0</version>
</dependency>
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
<version>6.2.3</version>
</dependency>
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-client</artifactId>
<version>6.2.3</version>
</dependency>
获取异常为
Exception in thread "main" java.lang.NoSuchFieldError: LUCENE_7_2_1
at org.elasticsearch.Version.<clinit>(Version.java:152)
at org.elasticsearch.common.logging.DeprecationLogger.<clinit>(DeprecationLogger.java:159)
at org.elasticsearch.common.ParseField.<clinit>(ParseField.java:35)
at org.elasticsearch.client.RestHighLevelClient.lambda$getDefaultNamedXContents$47(RestHighLevelClient.java:673)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.HashMap$EntrySpliterator.forEachRemaining(HashMap.java:1691)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
at org.elasticsearch.client.RestHighLevelClient.getDefaultNamedXContents(RestHighLevelClient.java:674)
at org.elasticsearch.client.RestHighLevelClient.<init>(RestHighLevelClient.java:215)
at org.elasticsearch.client.RestHighLevelClient.<init>(RestHighLevelClient.java:200)
at org.elasticsearch.client.RestHighLevelClient.<init>(RestHighLevelClient.java:192)
知道有类似的问题,它是关于 lucene 依赖问题。但我无法获得正确的依赖关系。任何帮助表示赞赏。谢谢
解决方案
您在这里使用了三个版本的 lucene,7.1.0、7.2.0,而 Elasticsearch 6.2.3 将是 7.2.1 版本。
您应该对所有这些使用相同的版本,因此将 lucene-core 和 lucene-join 依赖项的版本更改为 7.2.1。
推荐阅读
- javascript - Array.includes 在 html 文件上传和 localforage 中无法正常工作
- python - 添加数字时对一组数字进行排序
- reactjs - react元素本身是否有内部文本,内部html?
- c# - 如何在 Visual Studio 中为 LSP 启用诊断跟踪
- ios - 我们可以让 UIView 的高度总是随着里面的 UIStackView 的高度调整大小吗?
- flutter - 如何在颤动中返回上一页
- logging - 榛子线装饰
- c# - 值不能为空。参数名称:过滤器。如何找到这个参数?
- python - 在python中的另一个字典中出现一个字典的元素的计数器
- scala - 使用模式匹配动态返回案例类的实例