Je suis sur JDK 8u25 sur Windows 8 et je rencontre un problème avec mon Java. Je peux exécuter javac
parfaitement, mais exécuter Java
produit ce message d'erreur:
The system cannot find the file C:\ProgramData\Oracle\Java\javapath\Java.exe
Comment puis-je réparer ça?
Je pense que le problème a à voir avec mes variables d'environnement.
Les variables importantes, telles que je les ai définies, sont les suivantes:
Java_HOME
- C:\Program Files\Java\jdk1.8.0_25
CLASSPATH
- .;%Java_HOME%\lib
PATH
- <other paths omitted>;%Java_HOME%\bin
Et leurs extensions, telles que vues avec set
dans cmd, sont:
Java_HOME
- C:\Program Files\Java\jdk1.8.0_25
CLASSPATH
- .;C:\Program Files\Java\jdk1.8.0_25\lib;%CLASSPATH%;
PATH
- C:\ProgramData\Oracle\Java\javapath;C:\Program Files\Java\jdk1.6.0_45\bin;<other paths omitted>;C:\Program Files\Java\jdk1.8.0_25\bin
La sortie complète de set
peut être visualisée ici .
J'ai un problème similaire que je travaille actuellement à résoudre. Je ne peux pas dire que cela résoudra votre erreur car il pourrait y avoir des problèmes avec d'autres logiciels (ce qui est mon cas avec Eclipse Luna).
Java utilise le chemin indiqué dans votre variable PATH, qui est,
C:\ProgramData\Oracle\Java\javapath
Allez dans ce dossier (ProgramData est caché, alors affichez-le si nécessaire) et cliquez avec le bouton droit sur le lien symbolique Java.exe. Vous verrez dans le champ Cible où se trouve Java.exe. Il se peut qu’il pointe vers le fichier Java.exe de votre précédente installation jdk1.6.0_45. Collez les nouveaux raccourcis ici ou modifiez le paramètre PATH comme d'autres l'ont mentionné.
J'ai constaté que le programme d'installation Java ne modifie pas javapath ni ne met à jour le chemin système, du moins en passant de 1.8 à 1.7. Dans mon cas, la modification des raccourcis ne posait que des problèmes Eclipse au démarrage.
EDIT: ----- Après avoir joué avec les raccourcis de dossiers javapath, il s'avère que vous avez besoin de liens symboliques, au moins pour Eclipse. Voir, Windows comment créer un répertoire symlink .
Vous n'avez pas besoin du commutateur/d pour un lien symbolique de fichier,
mklink Java.exe "C:\Program Files\Java\jdk1.8.0_20\bin\Java.exe"
mklink javaw.exe "C:\Program Files\Java\jdk1.8.0_20\bin\javaw.exe"
mklink javaws.exe "C:\Program Files\Java\jdk1.8.0_20\bin\javaws.exe"
Cela fonctionne maintenant pour moi.
Pourquoi Oracle a fait un si mauvais moyen de pointer vers Java est au-delà de moi. Nous avons résolu ce problème en créant un nouveau lien vers le JDK
mklink /d C:\ProgramData\Oracle\Java\javapath "C:\Program Files\Java\jdk1.8.0_40\bin\"
La même chose fonctionnerait pour un JRE si c'est tout ce qui est requis.
Ceci remplace les anciens liens symboliques dans C:\ProgramData\Oracle\Java\javapath
_ (s'ils existaient auparavant)
J'ai eu dans PATH
:
C:\ProgramData\Oracle\Java\javapath;C:\Program Files\Java\jdk1.8.0_92\bin;<others omitted>
J'ai enlevé:
C:\ProgramData\Oracle\Java\javapath;
et cela a résolu le problème pour moi. Java -version
donne maintenant des détails sur la Java, etc.).
Cela résoudra tous les problèmes liés aux Java et aux variables d’environnement:
Supprimez l'entrée qui ressemble à:
C:\ProgramData\Oracle\Java\javapath
Ajoutez le chemin du dossier bin
de votre JDK/JRE.
Mise à jour de la variable d'environnement PATH
Si vous ne définissez pas la variable PATH, vous devez spécifier le chemin complet du fichier exécutable à chaque fois que vous l'exécutez, par exemple:
C:\> "C:\Program Files\Java\jdk1.8.0\bin\javac" MyClass.Java
Il est utile de définir la variable PATH de manière permanente afin qu’elle persiste après le redémarrage.
Pour définir la variable PATH de manière permanente, ajoutez le chemin complet du répertoire jdk1.8.0\bin à la variable PATH. En règle générale, ce chemin complet ressemble à quelque chose commeC:\Program Files\Java\jdk1.8.0\bin
.
Définissez la variable PATH comme suit sous Microsoft Windows:
Ajoutez l'emplacement du dossier bin de l'installation JDK à la variable PATH dans les variables système.
Voici une valeur typique de la variable PATH:
C:\WINDOWS\system32; C:\WINDOWS; C:\Program Files\Java\jdk1.8.0\bin
Note:
La variable d'environnement PATH est une série de répertoires séparés par des points-virgules (;) et ne respecte pas la casse. Microsoft Windows recherche les programmes dans les répertoires PATH dans l'ordre, de gauche à droite.
Vous ne devez avoir qu'un seul répertoire bin pour un JDK dans le chemin à la fois. Ceux qui suivent la première instance sont ignorés.
Si vous ne savez pas où ajouter le chemin JDK, ajoutez-le.
Le nouveau chemin prend effet dans chaque nouvelle fenêtre de commande que vous ouvrez après avoir défini la variable PATH.
C:\ProgramData\Oracle\Java
et supprimez ce répertoire et tous les fichiers qu'il contient. Vous pouvez le faire depuis la ligne de commande en utilisant rmdir /S C:\ProgramData\Oracle\Java
rmdir /S C:\ProgramData\Oracle
Maintenant, installez JDK et définissez le chemin.
Exécutez le programme. Vous ne trouverez plus le même problème.
Ce problème existe lorsque vous effectuez une mise à niveau d'une version à une autre. Parce que jdk n'est pas automatiquement mis à niveau.
Pour la même chose, vous pouvez changer les variables environnementales. Dans les variables système, recherchez le CHEMIN et ajoutez l'emplacement de la corbeille jdk à l'avant de la chaîne (et non à l'arrière). Une fois que vous avez terminé, vérifiez dans CMD si "Java" et "javac" fonctionnent. si cela fonctionne, allez à nouveau aux variables système. add " CLASSPATH " La variable et la valeur définie ". c:\Program Files\Java\jdk1.8.0_91\lib; = "
Si vous utilisez un ordinateur d'entreprise soumis à une stratégie de groupe assez restreinte, cela pourrait fonctionner ...
En admettant que
PATH
inclut C:\ProgramData\Oracle\Java\javapath
C:\Program Files\Java\jdk1.8.0_60\bin
Puis créez le fichier texte suivant mklink.bat
et mettez-le sur votre bureau:
rem mklink.bat
mklink /d C:\ProgramData\Oracle\Java\javapath "C:\Program Files\Java\jdk1.8.0_60\bin"
pause
Maintenant, faites un clic droit dessus et choisissez "Exécuter en tant qu'administrateur". Fournir des informations d'identification d'administrateur. Le script doit signaler le succès. Maintenant, vous pouvez compiler ou exécuter Java.
Il y a 2 versions de jdk dans votre PATH VARIABLE
jdk1.6.0_45
et jdk1.8.0_25
. Essayez de supprimer le premier, à savoir. jdk1.6.0_45
du PATH
Cela se produit généralement lorsque vous mettez à jour Java. La solution la plus simple consiste à désinstaller le JDK, puis à le réinstaller. NOTE: Ceci ne supprime pas le chemin ou le classpath donc pas besoin de s'inquiéter.
Ne t'inquiète pas. Il suffit de désinstaller jdk ainsi que les mises à jour de jdk. Avant de réinstaller jdk, supprimez le dossier Oracle situé dans le dossier caché de programData dans C:\Puis réinstallez-le. Définissez ce qui suit,
Java_HOME
CLASSPATH
PATH
JRE_HOME ( is optional)
Supprimez "C:\ProgramData\Oracle\Java\javapath\Java.exe" de la variable Path et ajoutez votre chemin bin jdk. Ça va marcher.
Dans mon cas, j’ai supprimé le chemin ci-dessus et ajouté mon chemin JDK, à savoir "C:\Program Files\Java\jdk1.8.0_221\bin".
c:\ProgramData\Java\javapath
est utilisé pour les liens symboliques. Vous pouvez bien sûr ajouter le chemin complet à votre Java Chemin vers %PATH%
, mais vous pouvez également créer un lien symbolique vers le chemin d'accès à l'emplacement ci-dessus.
CMD
en tant qu'administrateur.mklink Java.exe
_ (chemin d'accès complet à votre Java.exe), par exemplemklink Java.exe "C:\Program Files\Java\jdk1.8.0_25\bin\Java.exe"
J'ai eu la même chose après l'installation de Java8 à partir d'un compte non autorisé. Pour résoudre ce problème, j'ai simplement réinstallé le compte d'utilisateur admin. Cela a créé le répertoire cité avec les liens de fichier vers Java exes.
J'ai également eu le même problème où j'ai dû désinstaller JDK 1.8 et j'avais besoin de jdk 1.7. Ce que j'ai fait a été supprimé des liens symboliques du javapath, puis importé les raccourcis de Java, javaw, javaws du répertoire bin au dossier javapath. Cependant, j'ai rencontré quelques problèmes de permission dans l'ordinateur portable d'entreprise où je n'avais pas le privilège de modifier/mettre à jour ce répertoire. J'avais donné la permission appropriée de l'administrateur et l'a résolu.
Pour la nouvelle version de Java JavaPath se trouve
OS 64 bits
"C:\Program Files (x86)\Common Files\Oracle\Java\javapath\"
X86
"C:\Program Files\Common Files\Oracle\Java\javapath\"
Il doit y avoir deux variables PATH ou plus. Essayez de les fusionner en un seul en utilisant un point-virgule (;)