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>
相关推荐
追随者永远是胜利者7 小时前
(LeetCode-Hot100)253. 会议室 II
java·算法·leetcode·go
追随者永远是胜利者8 小时前
(LeetCode-Hot100)207. 课程表
java·算法·leetcode·go
yanghuashuiyue9 小时前
lambda+sealed+record
java·开发语言
盟接之桥10 小时前
盟接之桥EDI软件:API数据采集模块深度解析,打造企业数据协同新引擎
java·运维·服务器·网络·数据库·人工智能·制造
HoneyMoose10 小时前
Spring Boot 2.4 部署你的第一个 Spring Boot 应用需要的环境
java
rfidunion10 小时前
springboot+VUE+部署(12。Nginx和前端配置遇到的问题)
前端·vue.js·spring boot
皮皮林55110 小时前
为什么 Spring 和 IDEA 都不推荐使用 @Autowired 注解??
java
衍生星球10 小时前
【JSP程序设计】Servlet对象 — page对象
java·开发语言·servlet·jsp·jsp程序设计
vx-Biye_Design10 小时前
servlet家政公司管理系统-计算机毕业设计源码01438
java·vue.js·spring·servlet·tomcat·maven·mybatis
云和数据.ChenGuang10 小时前
jenkins安装需要多少版本的jdk
java·servlet·jenkins