12
votes

Impossible de cibler la plate-forme: 'Java SE 11' à l'aide de la chaîne d'outils: 'JDK 8 (1.8)'

Essayer de déployer mon application sur heroku, mais cela échoue toujours avec l'erreur: Impossible de cibler la plate-forme: 'Java SE 11' en utilisant la chaîne d'outils: 'JDK 8 (1.8)'

J'ai mon JAVA_HOME, JAVA_PATH, et ainsi de suite .. mis en place, j'ai une image de chacun d'eux ici, je pense qu'ils sont corrects. Si je vérifie java -version et javac -version, ils affichent tous les deux java 11.

J'ai également essayé de mettre dans le dossier racine un fichier system.properties.txt et aussi au lieu de .txt un fichier .gradle avec java.runtime.version = 11 à l'intérieur.

J'ai aussi ceci dans mon build.gradle:

Gradle app detected
remote: -----> Spring Boot detected
remote: -----> Installing JDK 1.8... done
remote: -----> Building Gradle app...
remote: -----> executing ./gradlew build -x test
remote:        Downloading https://services.gradle.org/distributions/gradle-5.4.1-all.zip

Mais il continue d'installer jdk8 au début du déploiement (git push heroku master) comme ceci:

sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11

voici les images de l'échec du déploiement et les variables d'environnement configurées.

entrez la description de l'image ici entrez la description de l'image ici

Je suis avec ce problème depuis une semaine maintenant, je pense que j'ai tout essayé, mais je serais vraiment reconnaissant si quelqu'un pouvait m'aider avec ça. Merci!


2 commentaires

Il devrait être dans le fichier appelé system.properties donc sans le txt, avez-vous vérifié cela?


Non, je n'ai pas vraiment ... on dirait que je suis un mannequin factice. Merci beaucoup, ça marche maintenant :)!


3 Réponses :


1
votes

J'ai eu le même problème en utilisant openjdk 11 sous Linux Ubuntu.
Mais cela fonctionnait bien dans mon ordinateur portable de travail. Même OS Ubuntu 18.04 LTS.
J'ai vérifié la version de jdk dans mon ordinateur portable c'était:

sudo update-alternatives --config java
sudo update-alternatives --config javac
sudo update-alternatives --config javadoc

mais à l'intérieur, il utilise la chaîne d'outils: 'JDK 10 (1.10)', donc j'ai reçu ce message

sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk-11.0.4+11/bin/java" 1
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk-11.0.4+11/bin/javac" 1
sudo update-alternatives --install "/usr/bin/javadoc" "javadoc" "/usr/lib/jvm/jdk-11.0.4+11/bin/javadoc" 1

Je vérifie mon ordinateur portable de travail et il a

 openjdk version "11.0.4" 2019-07-16
 OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.4+11)
 OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.4+11, mixed mode)

En cherchant sur openjdk, j'ai découvert ce site https://adoptopenjdk.net où je pourrais obtenir OpenJDK 11 (LTS) build 11.0.4 + 11

Après l'avoir ajouté à des alternatives

using tool chain: 'JDK 10 (1.10)'

puis choisissez chacun d'entre eux

/usr/lib/jvm/java-11-openjdk-amd64/bin/java

Une fois le problème résolu. J'espère que cela peut aider quelqu'un d'autre.


0 commentaires

3
votes

J'ai eu le même problème en obtenant une erreur "Java SE 11 utilisant la chaîne d'outils JDK 8". Après avoir recherché le problème sur Google, j'ai été informé des paramètres JAVA_HOME.

J'utilise sdkman pour gérer les paramètres de la version actuelle de mes versions Java et Kotlin, donc après avoir vérifié la version Java actuelle configurée dans sdkman, j'ai réalisé qu'elle pointait vers la version GraalVM 19 qui cible Java 8.

J'ai donc simplement rétabli l'actuel JAVA_HOME à 11 avec "sdkman use java 11.0.1-zulu" et tout fonctionnait bien.

Softjake


0 commentaires

0
votes

Il semble que vous ayez déjà résolu votre problème en renommant system.properties.txt en system.properties . (Au fait, vous pouvez répondre à votre propre question! )

Au cas où cela serait utile pour quelqu'un d'autre, voici la documentation officielle de Heroku:

Créez un fichier system.properties s'il n'en existe pas déjà un, spécifiez la version et validez-le dans git. Les versions prises en charge sont décrites dans l' article du support Java . Le contenu du fichier doit ressembler à ceci:

java.runtime.version=11

https://devcenter.heroku.com/articles/customizing-the-jdk#specify-a-jdk-version


0 commentaires