gpt4 book ai didi

java - Elasticsearch7.3 中 SpringBoot 出现 NoClassDefFoundError 异常

转载 作者:行者123 更新时间:2023-12-01 21:34:54 26 4
gpt4 key购买 nike

我尝试通过高级休息客户端创建文档:

    Map<String, Object> jsonMap = new HashMap<>();
jsonMap.put("name", "Bob");
jsonMap.put("id", "123456");
IndexRequest indexRequest = new IndexRequest("lead").id("123456").source(jsonMap);
client.index(indexRequest, RequestOptions.DEFAULT);

但它会抛出 NoClassDefFoundError: org/apache/lucene/util/BytesRefIterator。弹性版本是7.3.2。这就是我的 pom 中的 elasticsearch 依赖项。

    <dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
<version>${elasticsearch.version}</version>
</dependency>
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
<version>${elasticsearch.version}</version>
</dependency>

完整的堆栈跟踪:

Exception in thread "Thread-20" java.lang.NoClassDefFoundError: org/apache/lucene/util/BytesRefIterator
at org.elasticsearch.action.index.IndexRequest.source(IndexRequest.java:397)
at org.elasticsearch.action.index.IndexRequest.source(IndexRequest.java:377)
at org.elasticsearch.action.index.IndexRequest.source(IndexRequest.java:365)
at com.sunyard.mdhome.elasticsearch.impl.MetadataDocumentBuilderImpl.createDocument(MetadataDocumentBuilderImpl.java:182)
at com.sunyard.mdhome.elasticsearch.impl.MetadataDocumentBuilderImpl.build(MetadataDocumentBuilderImpl.java:76)
at com.sunyard.mdhome.elasticsearch.impl.MetadataDocumentBuilderImpl.getPage(MetadataDocumentBuilderImpl.java:163)
at com.sunyard.mdhome.elasticsearch.impl.MetadataDocumentBuilderImpl.getSyncMetadata(MetadataDocumentBuilderImpl.java:121)
at com.sunyard.mdhome.thread.MetadataSyncThread.run(MetadataSyncThread.java:30)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.ClassNotFoundException: org.apache.lucene.util.BytesRefIterator
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 9 more

Maven 依赖关系树: 奥 git _a maven dependencies tree 01

最佳答案

我已经找到了错误的原因。该项目中还有另一个依赖项,其中包括 3.5.0 版本的 lucene-core.jar。与elasticsearch中的8.1.0版本lucene-core.jar冲突。程序运行时实际使用的是3.5.0版本。

关于java - Elasticsearch7.3 中 SpringBoot 出现 NoClassDefFoundError 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58805135/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com