You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Cloud Contract Stub Runner远程拉取合约配置报错排查

Spring Cloud Contract远程Git仓库拉取契约失败:Failed to delete base directory

问题场景

本地拉取生产者契约时配置可正常运行:

@AutoConfigureStubRunner(ids = "com.per.adoption:support.users:+:8081",
        stubsMode = StubRunnerProperties.StubsMode.LOCAL)

切换到远程Git仓库拉取时抛出错误:Error creating bean with name 'batchStubRunner'... Failed to delete base directory,远程配置如下:

@AutoConfigureStubRunner(ids = "com.per.adoption:support.users:+:8081",
        repositoryRoot = "git://https://github.com/davidcediel12/pet-adoption-contracts",
        stubsMode = StubRunnerProperties.StubsMode.REMOTE)

解决方案

1. 修正Git仓库地址格式

repositoryRoot配置中的git://https://是错误的协议前缀,HTTPS类型的Git仓库直接使用https://开头的地址即可:

@AutoConfigureStubRunner(ids = "com.per.adoption:support.users:+:8081",
        repositoryRoot = "https://github.com/davidcediel12/pet-adoption-contracts",
        stubsMode = StubRunnerProperties.StubsMode.REMOTE)

2. 修复本地临时目录权限问题

“Failed to delete base directory”错误大多是Spring Cloud Contract的stubs临时目录(默认路径为~/.m2/repository/stubs或系统临时目录)存在权限问题:

  • 手动删除临时目录下com/per/adoption/support/users相关的缓存文件夹
  • 确保测试进程拥有该目录的读写、删除权限

3. 验证远程仓库契约结构

确认远程Git仓库中的契约符合Spring Cloud Contract规范:

  • 契约文件需放置在src/test/resources/contracts目录(或对应构建工具配置的契约路径)
  • 仓库中需包含可被识别的stubs构建产物,确保Spring Cloud Contract能正确拉取并生成stubs

4. 检查Gradle依赖配置

确保build.gradle中引入了正确的Spring Cloud Contract相关依赖,示例配置:

plugins {
    id 'org.springframework.boot' version '2.7.x'
    id 'io.spring.dependency-management' version '1.0.15.RELEASE'
    id 'org.springframework.cloud.contract' version '3.1.x'
}

dependencyManagement {
    imports {
        mavenBom "org.springframework.cloud:spring-cloud-dependencies:2021.0.5"
    }
}

dependencies {
    testImplementation 'org.springframework.cloud:spring-cloud-starter-contract-stub-runner'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

5. 强制清理缓存并重新运行

执行Gradle的cleanTest任务清理测试缓存,或手动删除~/.m2/repository/stubs目录,再重新运行测试。

内容的提问来源于stack exchange,提问作者DavidCediel12

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 06:53:10