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>
相关推荐
三不原则5 小时前
AIOps 技术架构全景:数据采集→分析→自动化执行全流程
java·架构·自动化
今天多喝热水5 小时前
SpEL(Spring Expression Language) 表达式
java·后端·spring
wasp5205 小时前
Hudi 客户端实现分析
java·开发语言·人工智能·hudi
学海无涯书山有路5 小时前
Android LiveData + MVVM 新手入门教程(基于 XML+Java)
android·xml·java
Hello.Reader5 小时前
Flink 2.0 从 flink-conf.yaml 到 config.yaml 的正确打开方式(含迁移与最佳实践)
java·前端·flink
小王不爱笑1325 小时前
Thymeleaf 语法
spring boot
李慕婉学姐5 小时前
【开题答辩过程】以《基于uni-app的手账记录小程序的设计与实现》为例,不知道这个选题怎么做的,不知道这个选题怎么开题答辩的可以进来看看
java·小程序·uni-app
福大大架构师每日一题5 小时前
milvus v2.6.9 发布:支持主键搜索、段重开机制、日志性能全面提升!
android·java·milvus
独自破碎E5 小时前
【滑动窗口】最长无重复子数组
java·开发语言
GIOTTO情5 小时前
Infoseek 媒介投放系统技术实现:基于与辉同行风波的风险防控架构设计
java·架构·媒体