首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误:找不到存根。请确保调用了spring-cloud-contract:convert

错误:找不到存根。请确保调用了spring-cloud-contract:convert
EN

Stack Overflow用户
提问于 2019-11-10 23:11:56
回答 2查看 2.5K关注 0票数 2

spring-boot 2.1.1.RELEASE中使用Spring Cloud Contract 2.1.3.RELEASE时,我已经添加了依赖项和插件,这在指南中有解释:

代码语言:javascript
复制
      <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-contract-verifier</artifactId>
        <version>${spring-cloud-contract.version}</version>
        <scope>test</scope>
      </dependency>

代码语言:javascript
复制
      <plugin>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-contract-maven-plugin</artifactId>
        <version>${spring-cloud-contract.version}</version>
        <extensions>true</extensions>
      </plugin>

我还在下面添加了:$rootDir/src/test/resources/contracts

Groovy文件:

代码语言:javascript
复制
package contracts

import org.springframework.cloud.contract.spec.Contract

Contract.make {
    name("contract_updateNodeV4")
    request {
        method 'PUT'
        url '/v4/nodes'
        headers {
            header 'Content-Type': 'application/vnd.org.springframework.cloud.contract.verifier.twitter-places-analyzer.v1+json'
        }
        body(file("updateNodeV4_request.json"))
    }
    response {
        status OK()
        body(file("updateNodeV4_response.json"))
    }
}

和相应的updateNodeV4_request.jsonupdateNodeV4_response.json (省略它们的内容,因为它们是大的)有效的JSON文件。

在运行mvn clean install时,我希望根据指南创建(但现在失败)生成的测试。

相反,我得到了以下错误:

代码语言:javascript
复制
[ERROR] Failed to execute goal org.springframework.cloud:spring-cloud-contract-maven-plugin:1.0.0.RELEASE:generateStubs (default-generateStubs) on project xxx: Stubs could not be found: [C:\Users\xxx\git\xxx\target\stubs] .
[ERROR] Please make sure that spring-cloud-contract:convert was invoked
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-11-11 17:40:23

我通过移动插件解决了这个问题:

代码语言:javascript
复制
 <plugin>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-contract-maven-plugin</artifactId>
        <version>${spring-cloud-contract.version}</version>
        <extensions>true</extensions>
 </plugin>

从根pom.xml到我在其中创建契约的特定模块的pom.xml。现在它可以正常工作了。

票数 1
EN

Stack Overflow用户

发布于 2019-11-11 01:09:39

您的联系人很可能不在模块的src/test/resources/contracts下,而在根模块的文件夹下。如果是这种情况,您需要通过查看contracts dir插件属性来告诉插件

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58789972

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档