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.
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!
3 Réponses :
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.
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
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
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 :)!