我有一个项目,我们正在使用消息提供程序,因为它涉及基于 Apache kafka 的消息传递。
消费者方面的 maven 目标在本地和 Jenkins 都运行良好。
提供方的协议验证在 Jenkins 中失败,说“没有为交互找到带注释的方法”。
我的 POM.xml 配置如下:
<plugin>
<groupId>au.com.dius</groupId>
<artifactId>pact-jvm-provider-maven_2.11</artifactId>
<version>3.5.2</version>
<configuration>
<!-- pactBrokerUrl,user name,password and project version required only
for consumer -->
<pactBrokerUrl>localhost</pactBrokerUrl>
<projectVersion>0.0.1</projectVersion>
<!-- service provider required only for producer -->
<serviceProviders>
<!-- <serviceProvider><name>provider</name><verificationType>ANNOTATED_METHOD</verificationType><consumers><consumer><name>consumer</name><pactUrl>pacturl</pactUrl></consumer></consumers></serviceProvider> -->
<serviceProvider>
<name>provider</name>
<verificationType>ANNOTATED_METHOD</verificationType>
<consumers>
<consumer>
<name>consumer</name>
<pactUrl>pacturl</pactUrl>
</consumer>
</consumers>
</serviceProvider>
</serviceProviders>
<classpathElements>
<classpathElement>
src/test/java
</classpathElement>
</classpathElements>
<configuration>
<pact.showStacktrace>true</pact.showStacktrace>
</configuration>
</configuration>
</plugin>