我正在尝试以这种方式使用 maven-plugin 将 Pact-File 发布到我的 Pact-Broker(取自 github Pact-Project):
<build>
<plugins>
<plugin>
<groupId>au.com.dius</groupId>
<artifactId>pact-jvm-provider-maven_2.12</artifactId>
<version>3.5.11</version>
<configuration>
<pactDirectory>${project.build.directory}/pacts</pactDirectory>
<pactBrokerUrl>mybrokerurl.de</pactBrokerUrl>
<projectVersion>${project.version}</projectVersion>
<trimSnapshot>true</trimSnapshot> <!-- Defaults to false -->
</configuration>
</plugin>
</plugins>
</build>
如果我尝试使用 pact:publish 执行 maven 构建,我会收到以下错误:
Failed to execute goal au.com.dius:pact-jvm-provider-maven_2.12:3.5.11:publish (default-cli) on project myproject-test: Execution default-cli of goal au.com.dius:pact-jvm-provider-maven_2.12:3.5.11:publish failed: A required class was missing while executing au.com.dius:pact-jvm-provider-maven_2.12:3.5.11:publish: kotlin.TypeCastException
堆栈跟踪的顶部:
Error injecting: au.com.dius.pact.provider.maven.PactPublishMojo
java.lang.NoClassDefFoundError: kotlin.TypeCastException
at java.lang.J9VMInternals.prepareClassImpl(Native Method)
使用 JUnit-Tests 创建 Pact-File 工作正常,所以我假设我在类路径中有正确的依赖项和所需的文件。
我错过了什么?看来, kotlin.TypeCastExeption-Class 在包中
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-runtime</artifactId>
所以我在收到此错误后尝试将依赖项(版本 1.2.0)添加到我的 pom - 但这没有帮助。
有谁知道我的问题的解决方案?