Cordova: échec de la vérification des exigences pour JDK 1.8 ou plus
j'utilise Cordova 6.4.0 dans Windows 7 OS, mais je reçois cette erreur Une fois que j'ai essayé de construire la version android:
la variable Java Home est positionnée correctement sur le chemin JDK, mais je ne sais pas pourquoi j'obtiens ce problème. Toutes les suggestions s'il vous plaît ?
20 réponses
je pense que j'ai trouvé la solution du problème. Je vais poster la réponse juste au cas où quelqu'un est confronté à la même question.
désinstaller tous les JDK précédents y compris 1.8 Installer JDK 1.8
ce qui a fonctionné, c'est la désinstallation de jdk 9 et la réinstallation de jkd 8.x
sur Mac afin de désinstaller Aller au terminal et de suivre ces étapes:
cd /Library/Java/JavaVirtualMachines
sudo rm -rf jdk-9.0.1.jdk
puis installer le jdk 8.x en téléchargeant le .paquet dmg D'Oracle.
vous ne devez pas désinstaller une version supérieure de sdk. il suffit d'installer jdk1.8.0_161 ou pas si il est déjà installé.
vient de définir la variable utilisateur JAVA_HOME
(pas la variable système) comme indiqué dans l'image ci-dessous.
de Cette façon, vous n'avez pas à désinstaller la version supérieure et le problème résolu.
désinstaller les anciennes versions de JDK aurait fonctionné. Mais il peut être une solution de contournement, je suppose. J'ai fait face au même problème et j'ai remarqué que la nouvelle version de JDK et l'ancienne version de JDK path ont été mentionnées dans 'path
' variable environnementale.
suppression de L'ancienne version JDK path de 'path
' variable environnementale a fait l'affaire pour moi. Espérons que cela aide quelqu'un de trop.
j'ai découvert que ma variable d'environnement path pointait vers java 1.7 alors que JAVA_HOME pointait vers 1.8, donc j'ai édité la variable path à 1.8 et j'étais très bien.
dans mon cas JAVA_HOME pointait vers C:\Program fichiers (x86)\Java\jdk1.7.0_55
quand j'ai écrit où java dans cmd il a produit C:\Program fichiers (x86)\Java\jdk1.7.0_55 à côté de java.exe path, j'ai changé la variable JAVA_HOME des variables d'environnement en C:\Program fichiers\Java\jdk1.8.0_20 & cela a fonctionné, donc il semble que j'ai eu 2 instances jdk & cordova a besoin de la v1.8.* un.
sous Linux (Debian / Ubuntu) ceci peut être résolu en sélectionnant un Java 1.8 SDK dans
sudo update-alternatives --config javac
Changing JAVA_HOME
la variable env directement ne semble pas avoir d'effet.
EDIT: répondre aux commentaires: cela a probablement quelque chose à voir avec le fait que les nouvelles installations Java Debian (et apparemment Ubuntu) via le gestionnaire de paquets n'utilisent pas la variable d'environnement JAVA_HOME
pour déterminer localisation de la JRE. Voir ce et ce post pour plus d'info.
ce message d'erreur rend l'utilisateur confus, l'écran de succès comme ci-dessous.
Le message d'erreur de faire l'utilisateur d'essayer de corriger le build échoue avec JAVA_HOME config. Mais le vrai problème n'est pas seulement dans le JAVA_HOME.
je corrige ce problème avec la config correcte dans JAVA_HOME et le chemin dans"variable système".
l'Espoir peut aider à corriger le problème, mais pas réinstaller JDK.
la réponse Postée par MadNeox est correcte.J'ai été confronté à un problème similaire J'ai fait installer jdk 9 ainsi que la version 1.8
j'ai d'abord essayé en gardant jdk 9 et en supprimant 1.8 il afficherait une vérification des exigences d'erreur échoué
puis j'ai essayé de désinstaller jdk9 et de réinstaller 1. cette fois, il montrait échoué à exécuter javac-version
après avoir joué avec les variables D'environnement pendant un certain temps, j'ai enfin ont la solution
à ce point mon système a seulement JDK 1.8 version Cordova: 7.1.0
- onglet Variables D'environnement Ouvertes - Sous variables utilisateur, Créer un nouveau chemin de variables - donnez-lui la valeur suivante C:\Program fichiers\Java\jdk1.8.0_151\bin (peut changer selon l'endroit où vous avez installé votre jdk)
cela devrait résoudre votre problème Espérons que cela aide
bien que la réponse ait déjà été donnée, il a fallu moi un peu de temps pour comprendre où j'allais mal a donc décidé de publier ce post en espérant que cela permettrait de sauver quelqu'un d'autre temps
vous pouvez avoir une version qui est supérieure à 8, mais Cordova ne supporte que JDK 1.8. Voir ce lien Cordova Documentation
j'ai regardé le morceau de code qui vérifie réellement le numéro de version de votre java. Cherchez le module suivant: .exportation.check_java dans plates-formes/android/cordova/lib . sur la ligne 220. Vous verrez une regex et commentaires laissés par l'équipe Java 10 pris en charge dans l'avenir.
l'expression régulière existante échouera lorsqu'elle sera utilisée avec les dernières versions de java comme Java 10. C'est parce que Java 8 ou 9 sont sauvegardés dans le format suivant: 1.[8-9].** mais Java 10 est sauvegardé en 10.** et l'expression régulière regarde pour une version au format 1.[8-9].**
// Let's check for at least Java 8, and keep it future proof so we can support Java 10
var match = /javac ((?:1\.)(?:[8-9]\.)(?:\d+))|((?:1\.)(?:[1-9]\d+\.)(?:\d+))/i.exec(output);
ma solution:
vous ne devez pas désinstaller votre version actuelle de le JRE ou le JDK puisque l'installateur installe chaque version dans un dossier spécifique.
1-Install version Java 8 suivre ce lien
2-Mettez à jour vos variables d'environnement:
- JAVA_HOME si vous avez installé le JDK
- JRE_HOME si vous avez installé le JRE
en les dirigeant vers l'endroit où les JRE 8 et JDK 8 ont été installés.
// On my machine
C:\Program Files\Java\jdk1.8.0_171 // JAVA_HOME
C:\Program Files\Java\jre1.8.0_171 // JRE_HOME
ouvrez une nouvelle session de terminal et exécutez la commande qui échouait. Il devrait maintenant fonctionner.
N'a pas fonctionné?
en cas d'échec pour d'autres raisons, possible processus de débogage:
- S'assurer que les variables JAVA_HOME et JRE_HOME sont des variables système.
- assurez-vous qu'ils sont ajoutés au chemin de votre Utilisateur ajouter des variables au chemin
change parfois de chemin et java-home
ne fonctionne pas. Vous devez ajouter
C:\Users\[your user]\AppData\Local\Android\Sdk\platform-tools
C:\Users\[your user]\AppData\Local\Android\Sdk\tools
à la variable environnementale path aussi.
si vous avez à la fois JDK8 et jdk9 installés, vous devez vérifier la version qui est
dans le chemin et où JAVA_HOME pointe.
dans le journal que vous avez posté, je vois que JAVA_HOME mène au JDK9.
modifier votre JAVA_HOME env var globel pour cibler JDK8 ou vous pouvez changer JAVA_HOME dans powershell avant d'utiliser le CLI cordova si vous voulez utiliser JDK8 seulement pour cordova:
$env:JAVA_HOME="C:\Program Files\Java\jdk1.8.0_151"
**cordova build android**
les gars pour obtenir le mélange juste sur Windows , vous devez faire ce qui suit
- Téléchargez et installez n'importe quelle version de JDK 1.8 ou plus.
- ouvrir les variables d'environnement, créer une variable d'environnement appelée JAVA_HOME et définir la valeur du chemin d'installation de JDK.
C:\Program Files\Java\jdk1.8.0_162
assurez-vous de ne pas ajouter le\bin
de la valeur.
- dans votre variable de chemin système, mettez un point-virgule
;
et ajoutez cette valeur au chemin système E. GC:\Program Files\Java\jdk1.8.0_162\bin;
ici le\bin
est ajouté.
Note: les variables d'environnement sont délicates.Ils sont censés être fermés par un ; avant d'ouvrir un autre. C'est pourquoi nous avons mis un avant d'ajouter de la valeur et un après la valeur de la fermer.
- fermez le terminal et réouvrez ensuite les commandes précédentes.
il suffit de s'assurer que les mêmes versions de JDK(i.e. 1.8 dans ce cas) sont accessibles à partir de PATH
variable d'environnement et JAVA_HOME
. Exemple:
Si
JAVA_HOME=C:\Program Files\Java\jdk1.8.0_152
alors
La variable PATH
doit également contenir le chemin ci-dessus et, ce qui est important, avant tout autre chemin (s'il y en a) de if JDK/JRE déjà mentionné dans la variable PATH
. Vous pouvez choisir de désinstaller d'autres versions si aucune autre application n'utilise la version différente de java.
- Aller à l'Accueil du panneau de Contrôle
- Paramètres Système Avancés
- Variables D'Environnement
- choisir JAVA_HOME
- modifier
- valeur de la variable pour le 1.8 un
il semble que le SDK Android ne supporte pas Java 9. Rétrogradez à 8 Si vous ne voulez pas aller tout le chemin de retour à JDK 1.8 qui pour moi est ridicule. JDK 8 fonctionne pour moi, mais assurez-vous de définir la variable D'environnement JAVA_HOME à L'emplacement de votre installation JDK correctement.
selon la documentation officielle de Cordova il supporte seulement JDK 1.8 pas plus grand jusqu'à la date (avril 2018) . Ou il pourrait y avoir un problème avec le script de détection de version dans cordova.
je viens de renommer l'ancien dossier JDK avec _
, juste au cas où j'en aurais besoin plus loin, et ça a fonctionné.
C:\Program Files (x86)\Java\_jdk1.7.0_40
C:\Program Files (x86)\Java\_jre7
j'ai désinstallé toutes les installations Java et ré-installé le jdk-8u181-windows-x64. Il a travaillé pour moi pour éviter ce problème.
je suis d'accord avec @Hozington. Ce devrait être le bug sur le code Cordova de détection de version Java. Ce que j'ai fait c'est:
- Garder le JDK 10
- installez le JDK 8
- Change le
JAVA_HOME
en chemin de JDK 8, et change la variablepath
aussi. - redémarrez le " cmd "et relancez
cordova build
.
et l'erreur a disparu!