JAVA_HOME est défini sur un répertoire non valide:


101

J'ai défini JAVA_HOMEdans mon système C:\Program Files\Java\jdk1.8.0_ 131\bin;et j'essaye d'exécuter la commande cordova (cordova build) sur l'invite de commande, mais j'obtiens l'erreur ci-dessous. J'ai essayé toutes les méthodes, mais je n'ai pas pu résoudre ce problème:

ERREUR: JAVA_HOME est défini sur un répertoire non valide: C: \ Program Files \ Java \ jdk1.8.0_ 131 \ bin;

Veuillez définir la JAVA_HOMEvariable dans votre environnement pour qu'elle corresponde à l'emplacement de votre installation Java.


8
JAVA_HOMEdevrait être mis à jour C:\Program Files\Java\jdk1.8.0_ 131uniquement
ELITE

1
J'ai supprimé toujours la même erreur
Nagarajan M

2
après avoir changé la variable, vous devez redémarrer la ligne de commande .. supprimez également les guillemets au début et à la fin de la variable
ELITE

Recherchez quelque chose comme Définition et obtention des variables d'environnement Windows à partir de l'invite de commande pour trouver comment définir et vérifier les variables d'environnement.
flob

1
Cela fonctionne bien mais j'obtiens une autre erreurFAILURE: la construction a échoué avec une exception. * Problème: impossible de démarrer le processus du démon. Ce problème peut être dû à une configuration incorrecte du démon. Par exemple, une option jvm non reconnue est utilisée. Veuillez vous référer au chapitre du guide de l'utilisateur sur le démon à docs.gradle.org 3.3 / userguide / gradle_daemon.html Veuillez lire la sortie de processus suivante pour en savoir plus: ---------------- ------- Une erreur s'est produite lors de l'initialisation de la machine virtuelle. Impossible de réserver suffisamment d'espace pour le tas d'objets 2097152KB
Nagarajan M

Réponses:


139

Vous devriez le définir avec C:\Program Files\Java\jdk1.8.0_12.

\bin n'est pas requis.


1
Oui j'avais ouvert.
Sagar Gangwal

Les commentaires m'ont sauvé :) Thankyou
Khubaib Raza

1
Pour Linux, quelque chose comme ça est nécessaire:export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk/
Boiethios

52

JAVA_HOMEdoit pointer vers le répertoire home jdk, et non vers le jdk/binrépertoire.

Vous devez définir JAVA_HOMEcomme ceci:

JAVA_HOME="C:\Program Files\Java\jdk1.8.0_131"

22

Retirez \binet supprimez également le ;à la fin. Après avoir redémarré la cmd et exécutez.


Votre commentaire m'a sauvé la vie. Merci. Ajout d'un point-virgule à la fin, ce qui conduit à une recherche sans fin dans Google. Après avoir retiré le point virgule à la fin, il fonctionne comme du charme. Merci
Vasu

17

Essayez ce qui suit:

  • Supprimer \bindu JAVA_HOMEchemin.
  • Ouvrez une nouvelle fenêtre de ligne de commande.
  • Exécutez votre commande en tant qu'administrateur.

Lors de la configuration de React Native, j'ai dû supprimer \bindu chemin JAVA_HOME.
JoshySav

8

JAVA_HOME ne doit C:\Program Files\Java\jdk1.8.0_172pas inclure de point-virgule (;) ou bin dans le chemin. Toute version jdk supérieure à 7 fonctionnera. En outre, vous devez redémarrer la cmd


6

définissez JAVA_HOME comme C: \ Program Files \ Java \ jdk1.8.0_172

n'utilisez pas de point-virgule ";" avec une valeur JAVA_HOME supérieure

Pour vérifier qu'il est correctement défini, accédez à l' invite de commande vérifier C: .......> sdkmanager --list

une liste complète apparaîtra qui vous permettra maintenant qu'il est enregistré avec succès.

sinon, il affichera l'erreur que le chemin JAVA_HOME n'est pas correctement défini.


6

Sur Windows 10, le problème était avec le point-virgule ;.

Accédez à edit the system environment variableset supprimez le point-virgule à la fin de la JAVA_HOMEvaleurC:\Program Files\Java\jdk1.8.0_144

En d'autres termes, convertissez-le C:\Program Files\Java\jdk1.8.0_12;enC:\Program Files\Java\jdk1.8.0_12

Vous devrez peut-être supprimer votre entrée dans la boîte de dialogue Windows et en créer une nouvelle. Si vous avez déjà eu plusieurs entrées et que vous obtenez la vue Formulaire plus grande , Windows insère automatiquement un ;à la fin de chaque entrée, même s'il ne vous reste qu'une seule entrée.


3

Après avoir défini la variable JAVA_HOME, exécutez android studio en tant qu'administrateur


1

je pense que vous devez supprimer le ';' depuis la fin du chemin java.


1
Cela n'a pas fonctionné. Lors de la définition de JAVA_HOME, vous ne devez pas inclure le fichier / bin. Si vous le définissez uniquement sur le chemin, vous devez inclure le bac
Ramindu Samarawickrama

1

Vous devez définir uniquement avec C: \ Program Files \ Java \ jdk1.8.0_12.

Et vérifiez avec l'utilisation du nouveau cmd. Il sera mis à jour


1

Essayez d'abord de supprimer le '\ bin' du chemin et définissez le répertoire de base JAVA_HOME comme ci-dessous: JAVA_HOME: C: \ Program Files \ Java \ jdk1.8.0_131

Deuxième chemin du système de mise à jour:

  1. Dans la fenêtre «Variables d'environnement» sous «Variables système», sélectionnez Chemin
  2. Cliquez sur «Modifier…»
  3. Dans la fenêtre "Modifier la variable d'environnement", cliquez sur "Nouveau"
  4. Tapez% JAVA_HOME% \ bin

Troisièmement, redémarrez votre docker.

Reportez-vous au lien pour définir le chemin java dans Windows.


0

Après avoir installé jdk, veuillez redémarrer votre système, cela fonctionne pour moi


0

J'utilise Ubuntu .

Problème résolu pour moi en utilisant sudo dans le terminal avec la commande.


0

J'ai trouvé cela en recherchant sur Google le problème des licences Android lors de l'installation de Flutter.

Pour Linux , mettez à jour votre ~/.bashrcfichier (ou tout autre fichier de configuration du shell) en ajoutant cette ligne à la fin:

JAVA_HOME=/usr/local/android-studio/jre

Remarque: j'ai installé Android studio en suivant le guide d'installation officiel pour Linux (lien) .

Pour Windows , utilisez le chemin d'accès du studio android au jrerépertoire et mettez à jour la variable d'environnement avec la bonne valeur.

Ensuite, exécutez flutter doctor --android-licenseset appuyez sur ypour examiner les licences qui ne sont pas acceptées. Appuyez sur ypour chacune des licences. Il demandera Accept? (y/N):à la fin du fichier de licence. Après avoir accepté toutes les licences non acceptées, vous devriez voir:

All SDK package licenses accepted

0

Veuillez supprimer / bin et même le point-virgule; depuis JAVA_HOME pour résoudre.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.