SpringBoot整合ElasticSearch的elasticsearch-java出现jakarta.json.spi.JsonProvider报错问题

一、原因

报错内容如下

java 复制代码
org.springframework.beans.factory.BeanCreationException: Error creating
bean with name 'esClient' defined in class path resource
[com/elasticsearch/config/ElasticSearchConfig.class]: Bean instantiation via
factory method failed; nested exception is
org.springframework.beans.BeanInstantiationException: Failed to instantiate
[co.elastic.clients.elasticsearch.ElasticsearchClient]: Factory method
'esClient' threw exception; nested exception is
java.lang.NoClassDefFoundError: jakarta/json/spi/JsonProvider

从报错信息来看,问题可能出在与jakarta/json相关的依赖上。Elasticsearch 8.x 使用了jakarta.json的 API(在 Java 9 及以上版本中,javax.json已被重命名为jakarta.json

二、解决方法

项目使用的是 Java 8,可能会遇到这个问题。一种可能的解决方法是添加对jakarta.json的依赖。例如,如果你使用 Maven 来管理项目依赖,可以在pom.xml文件中添加以下依赖:

java 复制代码
<dependency>
    <groupId>jakarta.json</groupId>
    <artifactId>jakarta.json-api</artifactId>
    <version>2.1.1</version>
</dependency>
相关推荐
百***812710 分钟前
【SpringBoot】SpringBoot中分页插件(PageHelper)的使用
java·spring boot·后端
百***864611 分钟前
SpringBoot中自定义Starter
java·spring boot·后端
q***071411 分钟前
VScode 开发 Springboot 程序
java·spring boot·后端
q***465212 分钟前
Spring中使用Async进行异步功能开发实战-以大文件上传为例
java·后端·spring
q***385114 分钟前
SpringCloud实战【九】 SpringCloud服务间调用
java·spring boot·spring cloud
岚天start14 分钟前
K8S环境中Containerd运行时占用文件定位清理
java·rpc·kubernetes
2501_9167665419 分钟前
解决idea依赖导入不成功的问题
java·intellij-idea
头发还在的女程序员22 分钟前
基于JAVA语言的短剧小程序-抖音短剧小程序
java·开发语言·小程序
vir0231 分钟前
P12155 [蓝桥杯 2025 省 Java B] 消失的蓝宝
java·职场和发展·蓝桥杯
爱笑的眼睛112 小时前
PyTorch Lightning:重新定义深度学习工程实践
java·人工智能·python·ai