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>
相关推荐
VX:Fegn089519 小时前
计算机毕业设计|基于springboot + vue校园社团管理系统(源码+数据库+文档)
前端·数据库·vue.js·spring boot·后端·课程设计
niucloud-admin19 小时前
java服务端——controller控制器
java·开发语言
To Be Clean Coder19 小时前
【Spring源码】通过 Bean 工厂获取 Bean 的过程
java·后端·spring
Fortunate Chen19 小时前
类与对象(下)
java·javascript·jvm
程序员水自流19 小时前
【AI大模型第9集】Function Calling,让AI大模型连接外部世界
java·人工智能·llm
‿hhh19 小时前
综合交通运行协调与应急指挥平台项目说明
java·ajax·npm·json·需求分析·个人开发·规格说明书
小徐Chao努力19 小时前
【Langchain4j-Java AI开发】06-工具与函数调用
java·人工智能·python
无心水19 小时前
【神经风格迁移:全链路压测】33、全链路监控与性能优化最佳实践:Java+Python+AI系统稳定性保障的终极武器
java·python·性能优化
萧曵 丶19 小时前
Synchronized 详解及 JDK 版本优化
java·多线程·synchronized
夏幻灵20 小时前
JAVA基础:基本数据类型和引用数据类型
java·开发语言