版本兼容导致的java.lang.NoClassDefFoundError: org/springframework/data/spel/ExpressionDependencies

2022-03-28 21:16:15 浏览数 (1)

在使用spring-data-cassandra时,因为springboot版本与spring-data-cassandra版本不兼容导致启动时报了下面的异常信息

java.lang.NoClassDefFoundError: org/springframework/data/spel/ExpressionDependencies

笔者使用的springboot版本为2.3.7.RELEASE,最初使用的spring-data-cassandra版本为3.1.2,在spring-data-cassandra 3.1.2版本我们可以看到下面一段文字:

6.2. Spring Framework

The current version of Spring Data modules require Spring Framework 5.3.2 or better. The modules might also work with an older bugfix version of that minor version. However, using the most recent version within that generation is highly recommended.

但是springboot 2.3.7版本依赖的spring Framework版本为5.2.12版本,所以解决这个版本冲突问题有两种方式:

1、升级springboot版本

2、降级spring-data-cassandra版本为3.0.6版本

3、使用spring-boot-starter-data-cassandra代替spring-data-cassandra,因为已经使用springboot,最好的方式还是使用springboot里面对应模块的starter组件,推荐

0 人点赞