咨询Spring Boot 2.3.4支持的spring-data-mongodb版本及启动报错解决
Spring Boot 2.3.4 兼容的 spring-data-mongodb 版本及错误解决
兼容版本结论
Spring Boot 2.3.4 官方绑定的 spring-data-mongodb 版本为 3.0.4.RELEASE,这是经过兼容性验证的版本,能避免依赖冲突问题。
错误原因分析
你遇到的 NoClassDefFoundError: org/springframework/data/support/IsNewStrategyFactory 是典型的依赖版本不匹配问题:
IsNewStrategyFactory类属于spring-data-commons模块,而 spring-data-mongodb 依赖该模块。- 若手动指定了与 Spring Boot 2.3.4 不兼容的 spring-data-mongodb 版本(比如过高的3.1+或过低的2.2-版本),会导致依赖的 spring-data-commons 版本与 Spring Boot 自带的版本不一致,进而引发类找不到的异常。
解决方法
- 优先使用默认依赖:移除 pom.xml(或 build.gradle)中手动指定的 spring-data-mongodb 版本,直接依赖 Spring Boot 的 starter:
<!-- Maven --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency>// Gradle implementation 'org.springframework.boot:spring-boot-starter-data-mongodb' - 手动指定版本时需严格匹配:若必须自定义版本,选择 3.0.x.RELEASE 系列(如3.0.4.RELEASE、3.0.5.RELEASE),确保与 Spring Boot 2.3.x 的依赖体系兼容。
- 排查依赖冲突:通过命令查看依赖树,排除冲突的依赖:
# Maven mvn dependency:tree # Gradle ./gradlew dependencies
内容的提问来源于stack exchange,提问作者Pratik Gaikwad
相关产品推荐
相关产品推荐

