为什么mvn pact:publish throws NoClassDefFoundError kotlin.TypeCastException

时间:2018-01-25 09:39:17

标签: java maven pact pact-jvm

我正试图以这种方式用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

Stack-Trace的顶部:

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中 - 但这没有用。

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

1 个答案:

答案 0 :(得分:0)

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