1

我正在尝试以这种方式使用 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 - 但这没有帮助。

有谁知道我的问题的解决方案?

4

1 回答 1

0

我也遇到了同样的错误。我应用的解决方法是从本地磁盘中删除 maven 存储库并重建项目。它为我解决了错误。

于 2018-03-13T07:03:12.377 回答