私はスプリングクラウド契約の新人です。私のビルドを設定しようとすると、エラーが表示されます。 |ここでSpringクラウド契約で生成されたテストが失敗する
は私のプロジェクト構造
プロジェクト
です==>モジュール
私は
プロジェクトのビルドファイル
buildscript {
dependencies {
classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.2.1"
classpath("org.springframework.boot:spring-boot-gradle-plugin:1.5.4.RELEASE")
classpath "org.springframework.cloud:spring-cloud-contract-gradle-plugin:1.1.3.RELEASE"
}
apply from: "$projectDir/gradle/app/springcloud.gradle" //Gradle build file in module
}
モジュールのビルドファイルbuild.gradle私のプロジェクトでクラスパスのために、次の依存関係を持っている
apply plugin: 'groovy'
apply plugin: 'spring-cloud-contract'
apply plugin: 'org.springframework.boot'
dependencies {
//Spring cloud contract dependencies
compile('org.springframework.boot:spring-boot-starter-actuator')
compile('org.springframework.boot:spring-boot-starter-web')
testCompile('org.springframework.boot:spring-boot-starter-test')
testCompile('org.springframework.cloud:spring-cloud-starter-contract-verifier')
testCompile "org.springframework.cloud:spring-cloud-starter-contract-stub-runner"
testCompile "com.jayway.restassured:rest-assured:2.5.0"
testCompile "com.jayway.restassured:spring-mock-mvc:2.5.0"
}
//Spring cloud contract dependency management
dependencyManagement {
imports {
mavenBom "org.springframework.cloud:spring-cloud-dependencies:Dalston.RELEASE"
}
}
私はグルーヴィーフィーを持っていますそれはポストリクエストとレスポンスを持っています。 gradle build
を実行すると、テストは自動生成されますが、私のビルドは感じています。
C:\Users\user\Projects\myProject\module\build\generated-test-sources\contracts\org\springframework\cloud\contract\verifier\tests\ContractVerifierTest.java:3: error: cannot find symbol
import com.jayway.jsonpath.DocumentContext;
^
symbol: class DocumentContext
location: package com.jayway.jsonpath
C:\Users\user\Projects\myProject\module\build\generated-test-sources\contracts\org\springframework\cloud\contract\verifier\tests\ContractVerifierTest.java:28: error: cannot find symbol
DocumentContext parsedJson =
JsonPath.parse(response.getBody().asString());
^
私は何か間違っていますか?私が使用しているバージョンに不一致がありますか?
おそらくバージョンが一致していない可能性があります。このレポを確認してください。https://github.com/spring-cloud-samples/spring-cloud-contract-samples/blob/master/producer/build.gradleで春のクラウド契約のサンプルを確認し、プロジェクトを更新して同じように見てください –
私は春の雲の契約を既存のプロジェクトに適用しています。プロジェクトが既に依存関係の中で春のブートを持っているように見えます。私は、矛盾を把握するために依存性ツリーを調べてみる。 – vkrams
@MarcinGrzejszczak私のプロジェクトは 'springBootversion = 1.4.3.RELEASE'を使用していましたが、それを変更またはアップグレードすることはできません。 '' spring-cloud-contract-gradle-plugin''はこのバージョンと互換性がありますか?また、私は 'spring-cloud-dependencies:Camden.SR7'を使用しています。助けてくれてありがとう – vkrams