J'ai un _ existant Spring boot
App que je construis sur gradle
. Tous ces jours où j'ai utilisé JDK / JRE 8
Et maintenant j'essaie d'utiliser JDK-11
Donc, pour vérifier la compatibilité, je définit le Java_HOME
à JDK-11
mais essayant de compiler dans Java 8
mode
J'ai ajouté le bloc ci-dessous dans mon build.gradle
compileJava {
targetCompatibility = '1.8'
}
et puis je mets Java_HOME
explicitement set Java_HOME=C:\Users\arun\Desktop\jdk-11.0.1
puis exécuter gradlew clean build
Mais je suis arrêté avec l'exception ci-dessous
> Configure project :
Build Version = build-182-ga03cf6c
> Task :compileJava FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':compileJava'.
> warning: source release 11 requires target release 11
Comment pointer mon Java_HOME
à JDK-11
mais l'exécute toujours dans Java-8
mode?
A partir de Java 9 Vous pouvez utiliser l'option --Release N pour inter-compiler avec la graderie. Réglage de la peauCompatibility et de la cibleCompatibilité ne suffit pas parce que dans ce cas, vous devez définir le bootclasspath vers JDK N aussi. Voir Quel est le drapeau -Release dans le Java 9? Pour plus de détails.
Au lieu de cela, utilisez le Java 9+ "--Release" Compilerarg comme ceci:
compilerargs.addall (['- libération', '8'])
https://docs.gradle.org/current/dsl/org.gradle.api.tasks.compile.compileOptionS.html