diff --git a/instrumentation/spring/spring-webmvc/spring-webmvc-6.0/library/build.gradle.kts b/instrumentation/spring/spring-webmvc/spring-webmvc-6.0/library/build.gradle.kts index 4fb5e4f64ac6..18188322f6e3 100644 --- a/instrumentation/spring/spring-webmvc/spring-webmvc-6.0/library/build.gradle.kts +++ b/instrumentation/spring/spring-webmvc/spring-webmvc-6.0/library/build.gradle.kts @@ -15,3 +15,16 @@ dependencies { otelJava { minJavaVersionSupported.set(JavaVersion.VERSION_17) } + +tasks { + compileJava { + // We compile this module for java 8 because it is used as a dependency in spring-boot-autoconfigure. + // If this module is compiled for java 17 then gradle can figure out based on the metadata that + // spring-boot-autoconfigure has a dependency that requires 17 and fails the build when it is used + // in a project that targets an earlier java version. + // https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/9949 + sourceCompatibility = "1.8" + targetCompatibility = "1.8" + options.release.set(null as Int?) + } +}