«Java» n'est pas reconnu comme une commande interne ou externe

159

En essayant de vérifier la version actuelle de Java dans laquelle j'exécute, j'ai reçu l'erreur "java n'est pas reconnu comme une commande interne ou externe, un programme utilisable ou un fichier de commandes.".

J'utilise le système d'exploitation Windows 7 et j'ai téléchargé le dernier JDK et j'ai eu le sentiment d'avoir accidentellement supprimé le java de la machine, car avant de pouvoir vérifier la version Java en utilisant la commande "java -version".

Quels logiciels dois-je télécharger pour que Java fonctionne à nouveau sur ma machine?

ÉDITER:

J'ai réussi à relancer Java à partir de ma cmd après m'être assuré que toutes les variables d'environnement pointaient vers le SDK Java actuel. Merci pour toutes les réponses à ma question.

Karen

Karen
la source

Réponses:

200

Vous devez configurer vos variables d'environnement JAVA_HOMEet PATH.

JAVA_HOMEdoit contenir le chemin vers java et vous devez ajouter % JAVA_HOME% \ bin àPATH

Alternativement, vous pouvez simplement ajouter à votre PATHchemin d'accès complet au dossier bin, sans la JAVA_HOMEvariable, cependant, cela rend un peu plus ennuyeux lorsque vous avez besoin d'avoir plus d'une version java sur votre machine (de cette façon, vous n'avez qu'à changer JAVA_HOMEet ne t'embête même pas PATH)

fcm
la source
dans mon cas, jdk 7 était installé et cela fonctionnait très bien jusqu'à ce que je mette à jour vers la nouvelle version de jdk 8, la solution était de désinstaller l'ancienne version de jdk
moein rahimi
1
Cela fonctionne pour moi après avoir supprimé le JAVA_HOME et défini le chemin complet du dossier java bin dans le premier de la variable Path
Mohammad Heydari
J'ai déjà une PATHvariable. Puis-je modifier le contenu sans rien gâcher d'autre?
Liggliluff
n'oubliez pas d'ajouter les DEUX variables "JAVA_HOME" puis "PATH", toutes deux en majuscules
Marco Ottina
Pour une raison quelconque dans Windows 10, cela ne fonctionnera pas. Mettez le chemin complet dans PATHvariable au lieu d'utiliser %JAVA_HOME%. Consultez cette réponse: stackoverflow.com/a/62590863/3337089
Nagabhushan SN
141

Pour Windows 7:

  1. Faites un clic droit sur My Computer
  2. Sélectionner Properties
  3. Sélectionner Advanced System Settings
  4. Sélectionnez l' Advancedonglet
  5. Sélectionner Environment Variables
  6. Sélectionnez PathsousSystem Variables
  7. Cliquez sur le Editbouton
  8. Dans l'éditeur de valeur de variable, collez-le au début de la ligne

    C:\Program Files\Java\jdk1.7.0_72\bin;
  9. Cliquez sur OK puis à nouveau sur OK

  10. Redémarrez l'invite de commande sinon il ne verra pas la modification de la variable de chemin
  11. Tapez l' java -versioninvite de commande.


Remarques sur l'étape 8:
1. La version de java peut être différente de celle utilisée ici - ce n'est qu'un exemple.
2. Il y aura probablement d'autres valeurs dans la variable de chemin. Il est vraiment important de ne pas supprimer ce qui existe déjà. C'est pourquoi les instructions disent de coller la valeur donnée au début de la ligne - cela signifie que vous ne supprimez pas la valeur existante, vous placez simplement java avant. Cela résout également tous les problèmes que vous pourriez rencontrer si une autre version de java est également sur le chemin.

Remarques sur l'étape 6:
1. Cela définit le chemin d'accès de l'ordinateur et non de l'utilisateur individuel. Il se peut que vous travailliez sur un ordinateur que d'autres développeurs utilisent également, auquel cas vous préférez définir les variables utilisateur plutôt que les variables système

Veeresh Hatti
la source
6
Cette "invite de commande de redémarrage sinon il ne verra pas le changement de la variable de chemin"
Andrew Paes
1
n'utilisez pas ';' pour jdk 10
brainLoop
53

Il semble que vous n'ayez pas ajouté le bon répertoire à votre chemin.

Commencez par découvrir dans quel répertoire vous avez installé Java. Par exemple, sur ma boîte, il est en C:\Program Files\java\jdk1.7.0_111 . Une fois que vous l'avez trouvé, essayez de l'exécuter directement. Par exemple:

c:\> "c:\Program Files\java\jdk1.7.0_11\bin\java" -version

Une fois que vous avez définitivement la bonne version, ajoutez le binrépertoire à votre PATHvariable d'environnement.

Notez que vous n'avez pas besoin d'une JAVA_HOMEvariable d'environnement, et ce depuis un certain temps. Certains outils peuvent l'utiliser - et si vous en utilisez un, bien sûr, définissez-le - mais si vous utilisez juste (disons) Eclipse et la ligne de commande java/ les javacoutils, tout va bien sans cela.


1 Oui, cela m'a rappelé que je devais mettre à jour ...

Jon Skeet
la source
@SotiriosDelimanolis: Je ne me souviens pas de la dernière fois que j'en ai eu besoin, personnellement. Certains outils peuvent - mais je ne commencerais à changer l'environnement que lorsque j'en ai réellement besoin, plutôt que simplement comme une évidence. (Je vais modifier ma réponse pour l'indiquer.)
Jon Skeet
1
Merci beaucoup pour votre réponse. Cependant, après avoir ajouté à la fois le chemin vers java dans les variables d'environnement "Path" et "JAVA_HOME", je semble toujours recevoir la même erreur.
Karen
2
@Karen: Avez-vous essayé ma première étape de l'exécuter explicitement? Et avez-vous redémarré votre invite de commande après avoir modifié vos variables d'environnement?
Jon Skeet
Quand j'ai exécuté italic c: \> "c: \ Program Files \ java \ jdk1.7.0_11 \ bin \ java" -version italic, il était dit "java version '1.7.0_11' Java <TM> SE Runtime Environment <build 1.7. 0_11-b21> Java HotSpot <TM> Client VM <build 23.6-b04, mode mixte, partage>
Karen
Oui, j'ai redémarré le cmd après avoir changé les variables d'environnement mais il semble qu'il n'y ait eu aucun changement malheureusement.
Karen
48

Supposons que Java / JDK est installé dans le dossier: C: \ Program Files \ Java :

Chemin d'installation Java / JDK

Suis les étapes:

  1. Aller au panneau de configuration → Système → Paramètres système avancés → Avancé → Variables d'environnement ( Win+ Pause/Breakpour Système dans le panneau de configuration )
  2. Dans la section Variables système , cliquez sur Nouveau…
  3. Dans le nom de la variable, écrivez:JAVA_HOME
  4. Dans Écriture de valeur variable :, C:\Program Files\Java\binappuyez sur OK : Ajouter JAVA_HOME
  5. Dans la section Variables système , double-cliquez surPath
  6. Appuyez sur Nouveau et écrivez C:\Program Files\Java\bin, appuyez sur OK : Ajouter un chemin Java
  7. Dans la fenêtre des variables d'environnement , appuyez sur OK
  8. Redémarrez / Exécutez cmd.exeet écrivez java --version:: Version Java CMD
Vijay Bhatt
la source
J'adore le conseil (Windows + Pause Break).
CodeFinity du
Je viens d'essayer avec la fenêtre 10. La commande java --versionne fonctionne pas mais java -versionfonctionne.
Steve
14

Rechercher des variables d'environnement. entrez la description de l'image ici

ouvrez le "Editer les variables d'environnement système". puis cliquez sur "variables d'environnement". entrez la description de l'image ici

Sous "Variables utilisateur", cliquez sur "Chemin" puis "Editer". entrez la description de l'image ici

Trouvez votre chemin Java et cliquez sur "Modifier". entrez la description de l'image ici

puis collez le chemin de votre dossier d'installation java. La plupart du temps, vous pouvez le trouver sur un chemin similaire à celui-ci. C: \ Program Files \ Java \ jdk-12.0.2 \ bin

Cliquez ensuite sur OK. maintenant dans le menu Démarrer, tapez cmd. ouvrez l'invite de commande. tapez java -version Si vous l'avez bien fait, cela devrait afficher quelque chose comme ça. entrez la description de l'image ici

Johira A.
la source
9

Pour moi, il commence à fonctionner après avoir mis,: au début du chemin de la variable système: -


entrez la description de l'image ici

entrez la description de l'image ici


Anurag_BEHS
la source
6

Ma solution était de mettre la même valeur (chemin vers le dossier bin JDK) dans JAVA_HOMEetPath

JAVA_HOME Chemin

naru
la source
1
Bienvenue à SO. S'il vous plaît ajouter un peu plus d' informations - par exemple ce que vous avez réellement mis en JAVA_HOMEet PATHet ne font pas référence à d' autres réponses.
Michael Lihs
5

Ce problème est sur Windows 8. Copiez d'abord votre chemin de java jdk - par exemple C: \ Program Files \ Java \ jdk1.7.0_51 \ bin.

  1. À droite sur l'icône Poste de travail sur le bureau et cliquez sur Propriétés.

  2. Sélectionnez «Paramètres système avancés» dans le volet gauche.

  3. Sous l'onglet "Avancé", sélectionnez "Variables d'environnement" en bas.

  4. Dans Variables système, sélectionnez Variable «Chemin» et modifiez-la.

Collez le chemin et ajoutez un ';' à la fin - par exemple C: \ Program Files \ Java \ jdk1.7.0_51 \ bin;

besartm
la source
2
Assurez-vous (;) à la fin du chemin existant avant d'ajouter.
Sanjeet A
3

Dans mon cas, PATH était correctement SET mais PATHEXT a été effacé par erreur par erreur avec l'extension .exe. C'est pourquoi la fenêtre ne peut pas trouver l'application java ou autre .exe à partir de l'invite de commande. J'espère que cela peut aider quelqu'un.

Breton F.
la source
1

J'ai eu le même problème. Installez simplement le bit exact de Java à partir de votre ordinateur. Si votre PC est 64 bits, installez java 64 bits. Si c'est 32 bits, alors vice versa :)

Pratik
la source
1

Je ne sais pas pourquoi, mais dans mon cas, la raison était que j'utilisais le terminal Anaconda au lieu du CMD.

Après avoir utilisé CMD et mis à jour les paramètres du chemin comme mentionné par tous les commentaires ci-dessus, le problème a été résolu de mon côté.

HassanSh__3571619
la source
0

si cygwin est installé dans Windows Box, ou en utilisant UNIX Shell alors

Issue bash#which java

Cela vous dira si java est dans votre chemin de classe ou NON.

anish
la source
0

J'ai corrigé ma variable de chemin, mais l' invite de commande doit redémarrer sinon, il ne pourra pas vérifier la modification de la variable de chemin. Peut être utile pour quelqu'un comme moi. donc " redémarrer l'invite de commande "

Ganesh
la source
0

Si vous avez défini les variables d'environnement ( JAVA_HOMEet PATH) sous les variables utilisateur, l'invite de commande (exécutée en tant qu'administrateur) n'identifiera pas java. Pour cela, vous devez définir des variables d'environnement sous les variables système.

Prabhash Rathnayake
la source