【解决异常】java.lang.NoClassDefFoundError: jakarta/json/spi/JsonProvider

问题复现

SpringBoot 版本:2.3.2.RELEASE
ElasticSearch 版本:7.16.2

<!-- 引入es依赖 -->
<dependency>
    <groupId>co.elastic.clients</groupId>
    <artifactId>elasticsearch-java</artifactId>
    <version>7.16.2</version>
</dependency>

启动项目后,出现异常

[co.elastic.clients.elasticsearch.ElasticsearchClient]: Factory method 'elasticsearchClient' threw exception; nested exception is java.lang.NoClassDefFoundError: jakarta/json/spi/JsonProvider

原因

根据pom文件,可以得知springboot使用的是 1.1.6 版本,由于版本问题,导致找不到这个类出现异常
版本号管理
只需要替换成 2.0.1 版本。

解决

多模块

如果是多模块,在父模块设置版本号即可

<!-- 父模块 -->
<properties>
    <jakarta-json.version>2.0.1</jakarta-json.version>
    <elasticsearch.version>7.16.2</elasticsearch.version>
</properties>

<!-- 依赖声明 -->
<dependencyManagement>
	<dependencies>
		<!-- 引入es依赖 -->
		<dependency>
			<groupId>co.elastic.clients</groupId>
			<artifactId>elasticsearch-java</artifactId>
			<version>${elasticsearch.version}</version>
		</dependency>
		<dependency>
			<groupId>jakarta.json</groupId>
			<artifactId>jakarta.json-api</artifactId>
			<version>${jakarta-json.version}</version>
		</dependency>
	</dependencies>
</dependencyManagement>

单模块

<properties>
    <jakarta-json.version>2.0.1</jakarta-json.version>
    <elasticsearch.version>7.16.2</elasticsearch.version>
</properties>

<dependencies>
	<!-- 引入es依赖 -->
	<dependency>
		<groupId>co.elastic.clients</groupId>
		<artifactId>elasticsearch-java</artifactId>
		<version>${elasticsearch.version}</version>
	</dependency>

	<dependency>
		<groupId>jakarta.json</groupId>
		<artifactId>jakarta.json-api</artifactId>
		<version>${jakarta-json.version}</version>
	</dependency>
</dependencies>

修改前:
在这里插入图片描述
修改后:
在这里插入图片描述

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值