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:

Issue description

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 ?

48
demandé sur MadNeox 2016-11-16 12:23:27

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

38
répondu MadNeox 2016-11-16 10:37:00

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.

19
répondu Bandito11 2018-01-07 19:58:46

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.

enter image description here

de Cette façon, vous n'avez pas à désinstaller la version supérieure et le problème résolu.

17
répondu Rashmin Javiya 2018-02-01 12:08:06

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.

14
répondu Gandhi 2016-12-15 10:09:47

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.

8
répondu Iyke Perry 2017-05-02 14:04:03

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.

6
répondu Mawardy 2017-01-14 05:04:24

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.

6
répondu oseiskar 2018-06-06 20:09:37

ce message d'erreur rend l'utilisateur confus, l'écran de succès comme ci-dessous. cordova build success

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". enter image description here

l'Espoir peut aider à corriger le problème, mais pas réinstaller JDK.

2
répondu Bangyno 2017-12-28 02:59:16

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

2
répondu Amey Bhivshet 2018-01-09 09:27:16

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
2
répondu Hozington 2018-06-17 11:56:41

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.

2
répondu Santosh 2018-07-28 09:32:23

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**
1
répondu Bal mukund kumar 2018-01-31 18:11:54

les gars pour obtenir le mélange juste sur Windows , vous devez faire ce qui suit

  1. Téléchargez et installez n'importe quelle version de JDK 1.8 ou plus.
  2. 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.

enter image description here

  1. dans votre variable de chemin système, mettez un point-virgule ; et ajoutez cette valeur au chemin système E. G C:\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.

enter image description here

  1. fermez le terminal et réouvrez ensuite les commandes précédentes.
1
répondu das sanctity 2018-04-06 08:35:14

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.

0
répondu Aim 2017-10-26 14:54:04
  1. Aller à l'Accueil du panneau de Contrôle
  2. Paramètres Système Avancés
  3. Variables D'Environnement
  4. choisir JAVA_HOME
  5. modifier
  6. valeur de la variable pour le 1.8 un
0
répondu Salvin 2017-11-07 08:48:22

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.

0
répondu Dgoldenone 2018-03-13 19:39:48

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.

Cordova: installation des exigences

0
répondu Abhay Gawade 2018-05-03 06:23:20

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
0
répondu Livio 2018-07-28 09:31:43

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.

0
répondu Dhammika Dolawattha 2018-08-05 19:07:40

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:

  1. Garder le JDK 10
  2. installez le JDK 8
  3. Change le JAVA_HOME en chemin de JDK 8, et change la variable path aussi.
  4. redémarrez le " cmd "et relancez cordova build .

et l'erreur a disparu!

0
répondu ceeko 2018-09-09 09:46:54