pact-foundation / pact-jvm

JVM version of Pact. Enables consumer driven contract testing, providing a mock service and DSL for the consumer project, and interaction playback and verification for the service provider project.
https://docs.pact.io
Apache License 2.0
1.08k stars 479 forks source link

junit5spring provider - Cannot inherit from final class #1338

Open chris-faulkner-mojdt opened 3 years ago

chris-faulkner-mojdt commented 3 years ago

Had the issue below with

testImplementation("au.com.dius.pact.provider:junit5spring:4.2.3")

Reverting to 4.2.2 resolved it. It's fatal, obviously.


Cannot inherit from final class
java.lang.VerifyError: Cannot inherit from final class
    at java.base/java.lang.ClassLoader.defineClass1(Native Method)
    at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
    at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:151)
    at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:821)
    at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:719)
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:642)
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:600)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
    at au.com.dius.pact.provider.spring.junit5.PactVerificationSpringProvider$provideTestTemplateInvocationContexts$1.apply(PactVerificationSpringProvider.kt:26)
    at au.com.dius.pact.provider.spring.junit5.PactVerificationSpringProvider$provideTestTemplateInvocationContexts$1.apply(PactVerificationSpringProvider.kt:12)
    at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
uglyog commented 3 years ago

4.2.4 has been released

chris-faulkner-mojdt commented 3 years ago

4.2.4 has been released

I have tried with 4.2.4 and I still get the same. Is this comment just automatically added ?

uglyog commented 3 years ago

No, the comment was manually added by me.

Are you getting the same error? I made the class open, see https://github.com/pact-foundation/pact-jvm/blob/master/provider/junit5spring/src/main/kotlin/au/com/dius/pact/provider/spring/junit5/PactVerificationSpringProvider.kt but if that was not the problem then it is not clear from the stack trace you provided what is.

Are you able to provide some code or debug level logs?