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>
相关推荐
huaweichenai16 分钟前
spring boot实现base64上传
java·spring boot·后端
萧瑟余晖21 分钟前
Spring Web综合实战与性能调优详解
java·spring
点纭22 分钟前
spring ai1.0实战:ChatClient(2)
java·后端·spring
小马过河R26 分钟前
EdgeOne深度解析:从原理、适用场景到COS接入的技术逻辑
java·开发语言·前端·spring·cos
知守观27 分钟前
多模块工程没 install,跑起来的代码是上周的:Maven reactor 依赖解析踩坑
java·maven·intellij idea
java水泥工1 小时前
什么是前端
java·vue·html5
Rain的Java大神之路1 小时前
Java 工程师做 AI,核心机会在「落地」而非「训练」
java·后端·ai编程
EAIReport1 小时前
SpringBoot 与 SpringCloud 深度解析:核心特点、差异与协同关系
spring boot·后端·spring cloud
RuoyiOffice1 小时前
SpringBoot3+Vue3 企业 AI 工作流:Tinyflow 画布、LLM 节点与在线试跑怎么落地
spring boot·大模型·vue3·agent·ai工作流·ruoyi office·tinyflow
薛之谦_2 小时前
JAVA 多线程编程:从基础原理到实战应用
java·开发语言