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.

Malachie
la source

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.

wmz
la source
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.

Chris Nava
la source
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

Pyuri Sahu
la source
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
djangofan
la source
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.

Abderrahmen
la source
-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.

Paul
la source