Spring Boot 3.x升级后出现TestSocketUtils类找不到错误求助
解决Spring Boot 3.x升级后
org.springframework.cloud.test.TestSocketUtils找不到的问题 这个问题是因为Spring Cloud 4.0.x(适配Spring Boot 3.x的版本)中已经移除了org.springframework.cloud.test.TestSocketUtils类,转而使用Spring Boot自带的同功能类。以下是具体的解决步骤:
- 检查代码或测试类中是否直接引用了
org.springframework.cloud.test.TestSocketUtils,如果有,直接替换为Spring Boot提供的org.springframework.boot.test.util.TestSocketUtils,这个类在Spring Boot 3.x的spring-boot-test模块中默认存在,无需额外引入依赖。 - 确认Spring Cloud与Spring Boot的版本兼容性:Spring Cloud 2022.0.x(即4.0.x系列)仅适配Spring Boot 3.0.x;如果你的Spring Boot版本是3.1.x及以上,需要升级Spring Cloud到2023.0.x(4.1.x系列),版本不匹配会导致依赖链出现缺失类的情况。
- 清理项目中遗留的旧Spring Cloud测试依赖,比如
spring-cloud-test这类模块,它们在Spring Cloud 4.x版本中已经被整合或废弃,继续保留会和spring-cloud-starter-contract-verifier产生冲突。
另外,如果你是通过间接依赖引入的TestSocketUtils,可以执行Gradle的./gradlew dependencies命令分析依赖树,定位到具体的依赖来源后排除对应的旧依赖模块。
内容的提问来源于stack exchange,提问作者Taran
相关产品推荐
相关产品推荐

