Mauvaise version de Java rapportée


17

J'utilise Windows 7 Professionnel x64 et les versions Java suivantes sont installées:

x64

  • C: \ Program Files \ Java
    • jdk1.6.0_24
    • jdk1.7.0_04
    • jdk1.7.0_07
    • jre6
    • jre7

x86

  • C: \ Program Files (x86) \ Java
    • jre1.6.0_07
    • jre6
    • jre7

dans mes variables d'environnement j'ai mon PATHcontenant C:\Program Files\Java\jdk1.6.0_24\binet JAVA_HOMEmis àC:\Program Files\Java\jdk1.6.0_24\bin

Toutefois, l'exécution de java -versionrapports

java version "1.7.0_07"
Java(TM) SE Runtime Environment (build 1.7.0_07-b10)
Java HotSpot(TM) 64-Bit Server VM (build 23.3-b01, mixed mode)

Comment est-ce le cas quand il n'y a aucune référence à cette version de Java dans mes variables d'environnement.

Toute aide sur ce problème serait utile car j'essaie d'exécuter Apache ANT à l' aide de Java 1.6.

Réponses:


27

Vous avez probablement copié java.exe sur l'un des chemins système (AFAIK, c'est le comportement par défaut du programme d'installation Java). Pour vérifier ce qui s'exécute réellement lorsque vous exécutez «java -version», exécutez à partir de la ligne de commande:
for %I in (java.exe) do @echo %~$PATH:Iet il vous indiquera où il se trouve.


1
Wow - c'est tellement utile! Pour une raison quelconque, java.exec'est dans system32. Je vais le déplacer sur le chemin comme mentionné.
Malachi

1
Même problème ici, java.exeétait dans system32ANDProgramData\Oracle\javapath
Kevin Labécot

Si vous vous demandez quoi faire ensuite, vous pouvez renommer le exes. J'ai renommé java.exe, javaw.exeet javaws.exeà java-foobar.exe, javaw-foobar.exeet javaws-foobar.exerespectivement.
javatarz

Cela augmente le nombre d'endroits que je dois vérifier à 4: PATH, JAVA_HOME, Control Panels et maintenant aussi System32 ... Just wow. Un jour, le registre deviendra 5e. Et je vous remercie monsieur.
Jaroslav Záruba

2

Les dossiers PATH sont vérifiés dans l'ordre où ils apparaissent. Essayez de déplacer le chemin java vers l'avant. Si cela résout le problème, vous avez une autre version quelque part sur votre chemin.


2

Lors de l'installation d'un JRE public (utilisé par le plug-in Java), un fichier java.exe est également créé dans C: \ WINNT \ system32 (IIRC). C'est probablement cette commande java qui est exécutée, car C: \ WINNT \ system32 précède le répertoire JDK / bin dans votre PATH.

Mettez le répertoire JDK / bin au début du CHEMIN


0

Cela rapportera la version java correcte et vous indiquera également quel est le problème:

@ECHO off
ECHO ---------------
SET "JAVA_HOME=C:\Path to wherever\JDKwhatever"
SET "PATH=%JAVA_HOME%\bin;%PATH%"
java -version
ECHO ---------------
pause

0

Je vous suggère de désinstaller tous les JDK et JRE. Ensuite, vous installez le dernier JDK et vous mettez à jour votre chemin de classe, JAVA_HOME et votre chemin. Cela a fonctionné pour moi.


-1

Comme je l'ai découvert récemment, assurez-vous que vous définissez JAVA_HOMEdans la section "Variables système" et non dans la section "Variables utilisateur".

J'en avais %JAVA_HOME%\binau début, PATHmais cela ne fonctionnait pas - l'ajout JAVA_HOMEau système a corrigé le problème.

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.