From 60a825259b14248a09b2fb6a5a9510badb268c75 Mon Sep 17 00:00:00 2001 From: tjog <28024277+tjog@users.noreply.github.com> Date: Tue, 8 Apr 2025 20:11:27 +0200 Subject: [PATCH] Use the bootRun javaLauncher in fork task Verified in a new Spring initializer project (plus springdoc and plugin) for both Java and Kotlin. For Java, choose Java 24 as toolchain version in build.gradle but configure Gradle JVM to Java 23 or earlier. For Kotlin, use Java 21 as bytecode version, but for illustrative purposes, downgrade Gradle JVM to Java 19 for example. LinkageError, java.lang.UnsupportedClassVersionError occurs in forkedSpringBootRun task in both cases (but with different encountered versus supported class file versions) --- .../springdoc/openapi/gradle/plugin/OpenApiGradlePlugin.kt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/kotlin/org/springdoc/openapi/gradle/plugin/OpenApiGradlePlugin.kt b/src/main/kotlin/org/springdoc/openapi/gradle/plugin/OpenApiGradlePlugin.kt index 64ca896..8af8b2f 100644 --- a/src/main/kotlin/org/springdoc/openapi/gradle/plugin/OpenApiGradlePlugin.kt +++ b/src/main/kotlin/org/springdoc/openapi/gradle/plugin/OpenApiGradlePlugin.kt @@ -110,6 +110,11 @@ open class OpenApiGradlePlugin : Plugin { ?: bootRun.jvmArgs environment = customBootRun.environment.orNull?.takeIf { it.isNotEmpty() } ?: bootRun.environment + + // Respect javaLauncher configured for bootRun, so Gradle JVM version + // (which may differ) is not used. + javaLauncher.set(bootRun.javaLauncher) + if (Jvm.current().toString().startsWith("1.8")) { killDescendants = false }