ARTICLE AD BOX
gradle.properties
Add org.gradle.java.installations.auto-detect=false and org.gradle.java.installations.auto-download=false to prevent Gradle from searching for or downloading other JDKs. Use org.gradle.java.installations.paths to manually specify the JDK path. org.gradle.java.installations.auto-detect=false org.gradle.java.installations.auto-download=false org.gradle.java.installations.paths=/home/demo/.sdkman/candidates/java/21.0.9-tembuild.gradle
Set the Java toolchain version to 21.
java { toolchain { languageVersion = JavaLanguageVersion.of(21) } }Verify the Java version used for compilation:
./gradlew clean compileJava --no-configuration-cache --info --rerun-tasks | grep "Compiling with toolchain"Expected Output:
Compiling with toolchain '/home/demo/.sdkman/candidates/java/21.0.9-tem'.Confirm that the project compiles with Java 21 even when the system's default version is Java 17:
$ javac -version javac 17.0.12 $ java -version openjdk version "17.0.12" 2024-07-16 OpenJDK Runtime Environment Temurin-17.0.12+7 (build 17.0.12+7) OpenJDK 64-Bit Server VM Temurin-17.0.12+7 (build 17.0.12+7, mixed mode, sharing) Gradle version: gradle-9.2.1Stop daemon and clean config cache
if change not work, Stop daemon and clean config cache. then run again.
./gradlew --stop rm -rf .gradle/configuration-cachegradle.properties
change to 21.0.2-graalce
org.gradle.java.installations.auto-detect=false org.gradle.java.installations.auto-download=false org.gradle.java.installations.paths=/home/demo/.sdkman/candidates/java/21.0.2-graalceStop daemon and clean cache
./gradlew --stop rm -rf .gradle/configuration-cacheRe-Run
./gradlew clean compileJava --no-configuration-cache --info --rerun-tasks | grep "Compiling with toolchain"output
Compiling with toolchain '/home/demo/.sdkman/candidates/java/21.0.2-graalce'.