50 votes

Faire fonctionner Java donne "Erreur: impossible d'ouvrir `C:\Program Files\Java\jre6\lib\amd64\jvm.cfg'"

Après des années de bon fonctionnement, je reçois soudain ce message en essayant de démarrer le JVM:

Erreur : impossible d'ouvrir `C:\Program Files\Java\jre6\lib\amd64\jvm.cfg'

J'ai essayé de désinstaller, et j'ai reçu un message indiquant qu'une DLL manquait (non spécifiée) J'ai essayé de réinstaller, sans succès.

En même temps, en essayant de démarrer Scala j'obtiens:

\Java\jdk1.6.0_25\bin\java.exe était inattendu à ce moment-là.

Vérifié %JAVA_HOME% et %path% - tous les deux OK

Est-ce que quelqu'un peut aider?

1 votes

Il semblerait que votre JVM soit corrompue, ou que votre PATH soit pollué. La JVM que vous pensez exécuter pourrait ne pas être celle que vous devriez exécuter. essayez d'exécuter java -version pour vérifier s'il s'agit de la version 1.6.0_xx.

3 votes

Comment est-ce lié à Scala ?

3 votes

Je ne peux même pas faire java -version sans recevoir le message!

92voto

bitmind Points 671

J'ai vérifié mes variables d'environnement - JAVA_HOME & PATH et elles font toutes référence à C:\java. Cela était un peu frustrant. Après un certain temps, j'ai trouvé que l'installation par défaut avait également copié java.exe, javaw.exe et javaws.exe dans C:\Windows\System32 (c'est-à-dire que la désinstallation de JRE ne s'est pas bien passée). Je les ai simplement supprimés et voilà, je suis de retour sur la bonne voie. Cet ennuyeux message d'erreur ne s'affiche plus.

Cela fonctionne pour moi

Donc, si elles existent, supprimez java.exe, javaw.exe et javaws.exe de System32

1 votes

Pourquoi Oracle/Sun a jamais décidé de faire cela et de ne pas corriger le programme de désinstallation me dépasse. Merci.

0 votes

Je viens de supprimer tout le dossier C:/Windows/jre qui permettait à l'exécutable Java approprié plus bas dans le chemin d'être utilisé. Aucune idée de ce qui a installé Java dans mon répertoire windows et l'a mis sur le chemin pourtant :|

0 votes

Ma situation : Eclipse a cessé de se lancer. Proguard ne se chargeait pas en raison d'un fichier jvm.cfg manquant. J'ai supprimé windows/jre et les fichiers .exe mentionnés ci-dessus. Cela a résolu mon problème. Cela s'est produit apparemment de manière aléatoire au cours de la dernière semaine. Aucune explication à cela.

45voto

deskmore Points 162

Mettre %JAVA_HOME%\bin au début de PATH.

4 votes

J'ai eu le même problème sur Windows même si mon PATH et JAVA_HOME étaient corrects. Déplacer le %JAVA_HOME% au début du PATH l'a résolu. Merci!

0 votes

Malgré cela, j'obtenais toujours l'erreur. Ce que je n'avais pas remarqué, c'est que lorsque j'ouvrais une invite de commande CMD, elle se positionnait automatiquement sur C:\Windows\System32, qui contenait l'installation de Java problématique. Le simple fait de changer de répertoire permettait à Java de fonctionner parfaitement avec le JDK que je voulais sur le chemin.

20voto

Clinton Points 1390

Peut-être une cause légèrement différente, mais ce deuxième problème se produit pour moi en scala 2.9.0.1 sur Win7 (x64), bien que scala-2.9.1.final ait déjà résolu ce problème mentionné ici :

\Java\jdk1.6.0_25\bin\java.exe était inattendu à ce moment-là.

Mon %JAVA_HOME% est défini sur un chemin comme celui-ci : c:\program files(x86)\Java\jdk...

Notez l'espace et les parenthèses.

Si vous modifiez la ligne 24 dans %SCALA_HOME%\bin\scala.bat de :

if exist "%JAVA_HOME%\bin\java.exe" set _JAVACMD=%JAVA_HOME%\bin\java.exe

à

if exist "%JAVA_HOME%\bin\java.exe" set "_JAVACMD=%JAVA_HOME%\bin\java.exe"

Cela fonctionne bien. Notez les guillemets autour des paramètres de la commande set, cela va correctement enclore les espaces et les caractères 'spéciaux' (par exemple : espaces et parenthèses) dans la valeur de la variable.

J'espère que cela aidera quelqu'un d'autre cherchant une réponse.

1 votes

+1, mais le même traitement doit également être appliqué au fichier : %SCALA_HOME%\bin\scalac.bat

0 votes

Merci! Dans mon cas, j'ai renommé la partition Windows où Java était installé. En revenant sur ce changement, le problème a été résolu.

9voto

serganm Points 71

J'avais le même problème: j'ai un Windows 64 bits et lorsque j'ai tapé "java -version" dans CMD-Console j'ai reçu le même message d'erreur. Essayez de démarrer un cmd 64 bits (C:\Windows\SysWOW64\cmd.exe) et vous verrez que cela fonctionne là-bas ;)

3voto

VonC Points 414372

Si cela fonctionnait auparavant, cela signifie que le PATH n'est plus correct.

Cela peut se produire lorsque le PATH devient trop long et est tronqué.
Tous les messages (comme celui-ci) suggèrent de mettre à jour le PATH, que vous pouvez d'abord tester dans une session DOS distincte, en définissant un chemin minimal et en vérifiant si Java fonctionne à nouveau.


Enfin, le OP Highland Mark conclut:

Finalement résolu en désinstallant Java, en supprimant toutes les références à celui-ci dans le registre, puis en réinstallant.

effrayant ;)

0 votes

Merci. Je ne peux toujours pas le trier. Avec un chemin minimal (chemin = %JAVA_HOME%\bin) ça marche - comme tu dis, cependant, je ne vois pas le problème dans le chemin actuel qui est "...;%JAVA_HOME%\bin;..." qui contient la même chose.

0 votes

Enfin réussi à supprimer les anciennes versions de JRE en utilisant JavaRA & MSICUU2.exe, rechargé la dernière version, mais toujours le même message.

1 votes

@Highland: si cela fonctionne avec un chemin minimal mais pas avec un chemin complet, cela signifie que %JAVA_HOME%\bin n'est pas le problème. Un autre élément dans le PATH cause l'échec de l'exécution. Pourriez-vous essayer avec un PATH que vous construiriez, un élément à la fois, pour voir à quel moment Java cesse de se lancer?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X