Gradle 无法发布';最后验证';在契约经纪人中的地位

Gradle 无法发布';最后验证';在契约经纪人中的地位,gradle,pact,pact-jvm,pact-broker,Gradle,Pact,Pact Jvm,Pact Broker,对于微服务合同测试,我使用PACT和gradle 4.4,以下是我的build.gradle: buildscript { repositories { mavenCentral() } dependencies { classpath 'au.com.dius:pact-jvm-provider-gradle_2.12:3.5.22' } } apply plugin: 'java' apply plugin: 'maven' apply plugin: 'ec

对于微服务合同测试,我使用PACT和gradle 4.4,以下是我的build.gradle:

buildscript {
  repositories {
    mavenCentral()
 }
 dependencies {
     classpath 'au.com.dius:pact-jvm-provider-gradle_2.12:3.5.22'
  }
}

apply plugin: 'java'
apply plugin: 'maven'
apply plugin: 'eclipse'
apply plugin: "au.com.dius.pact"


pact {

 serviceProviders {

    // You can define as many as you need, but each must have a unique name
    UserService {

        // All the provider properties are optional, and have sensible defaults (shown below)
        protocol = 'http'
        host = 'localhost'
        port = 8111
        project.version = "2.0.1"
        hasPactsFromPactBroker('http://10.100.198.200:8113')

        }
}            
  pact {
  publish {
  version = "2.0.1"
  pactDirectory = 'pacts' // defaults to $buildDir/pacts
        pactBrokerUrl = 'http://10.100.198.200:8113'

 }
 }
}
虽然我能够在代理中发布pact文件,并且能够查看依赖关系图,但在运行pactVerify方法后,“Last Verified”显示为空。我看到了一些关于“pact.verifier.publishResults=true”的文档,并尝试将其作为gradle参数传递,但收到一条错误消息,上面说:

失败:生成失败,出现异常

  • 出了什么问题: 您的项目配置错误,应在生成中使用“pact”配置,但得到了值为“”的字符串。确保没有覆盖“pact”的属性
我运行的gradle命令是:

      ./gradlew test pactPublish 
      ./gradlew pactVerify -Ppact.verifier.publishResults=true

请告诉我我遗漏了什么,pact.verifier.publishResults不被接受

第一件事是你的Gradle配置无效。应该只有一个
pact
块。你有两个。移除其中包含
publish
块的内部块(但保留
publish
块:-D)


如果这不能解决您的问题,请查看评论中的任何更改是否有帮助。

谢谢Ronald。问题在于build.gradle。我已经将其更改为一个pact块,现在结果将发布到代理!谢谢你的帮助:)