tschuchortdev / kotlin-compile-testing

A library for testing Kotlin and Java annotation processors, compiler plugins and code generation
Mozilla Public License 2.0
658 stars 63 forks source link

NoClassDefFoundError on Java 11 #300

Open breandan opened 2 years ago

breandan commented 2 years ago

I recently tried upgrading from JVM version 1.8 to 11 by setting kotlinOptions.jvmTarget = "11", however I encountered the following error when using this library:

    java.lang.NoClassDefFoundError: org/jetbrains/kotlin/cli/jvm/plugins/ServiceLoaderLite
        at com.tschuchort.compiletesting.AbstractKotlinCompilation.getResourcesPath(AbstractKotlinCompilation.kt:219)
        at com.tschuchort.compiletesting.AbstractKotlinCompilation.compileKotlin(AbstractKotlinCompilation.kt:194)
        at com.tschuchort.compiletesting.KotlinCompilation.compileJvmKotlin(KotlinCompilation.kt:488)
        at com.tschuchort.compiletesting.KotlinCompilation.compile(KotlinCompilation.kt:664)
...

        Caused by:
        java.lang.ClassNotFoundException: org.jetbrains.kotlin.cli.jvm.plugins.ServiceLoaderLite
            at com.tschuchort.compiletesting.AbstractKotlinCompilation.getResourcesPath(AbstractKotlinCompilation.kt:219)
            ... 5 more
tschuchortdev commented 2 years ago

Please send the output of gradle dependencies task and gradle files for relevant modules. I tried it just now with

tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
    kotlinOptions {
        jvmTarget = "11"
    }
}

and a JDK 11 and it worked fine.