Version Java différente affichée sur la ligne de commande
Récemment, j'ai vérifié sur ma version de Java. J'ai exécuté la commande java -version
et j'ai trouvé que j'ai été en utilisant java version 1.7.0_09
. Mais quand j'ai essayé de vérifier sur C:\Program Files\Java\
répertoire, je ne semble pas trouver la même version. Je ne vois que les suivantes:
- j2re1.4
- jdk1.6.0_32
- jdk1.7.0_06
- jdk1.7.0_07
- re6
- jre7
Et ainsi de suite...
Mes programmes toujours courir, mais je suis juste essayer de compiler tout manuellement, et de comprendre comment Java est en cours de traitement par le système d'exploitation.
Une autre chose qui est bizarre, c'est, j'ai essayé de vérifier sur les paramètres des variables d'environnement, et il ne dit rien à propos de jdk1.7.0_09
.
Chemin:
- C:\Program Files\Fichiers Communs\Microsoft Shared\Windows Live;
- %SystemRoot%\system32;
- %SystemRoot%;
- %SystemRoot%\System32\Wbem;
- %SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;
- C:\Program Files\TortoiseSVN\bin;
- C:\Program Files\Windows Live\Partagé;
- C:\eclipse\plugins\com.google.appengine.eclipse.sdkbundle_1.6.5\appengine-java-sdk-1.6.5\bin;
- C:\Program Files\Java\jdk1.7.0_07\bin;C:\Program Files\QuickTime\QTSystem\;
- %ANT_HOME%\bin
Veux juste vous les gars savent que de toute façon il devient automatiquement un jre.
L'ensemble du répertoire est C:\Users\User02\AppData\LocalLow\Sun\Java\jre1.7.0_09
et c'est juste le fichier nommé lzma.dll
.
Mais, j'ai un autre répertoire que dit C:\Users\User02\AppData\LocalLow\Sun\Java\jdk1.7.0_07
. Les fichiers à l'intérieur sont:
- jdk1.7.0_07.msi
- sj170070.cabine
- ss170070.cabine
- st170070.cabine
- et sz170070.cabine
source d'informationauteur Franz Noel
Vous devez vous connecter pour publier un commentaire.
Il est possible d'avoir plusieurs JRE côte-à-côte sur un ordinateur.
Si le JRE est installé correctement sur Windows, les informations à propos de chaque version sont stockées dans le registre. Le processus d'installation installe un spécial java.exe dans le CHEMIN d'accès système (%SYSTEMROOT%\System32). Si vous n'avez pas besoin de modifier le CHEMIN vous car cette offre spéciale java.exe la dernière JRE. À partir d'une ligne de commande, tapez java -version pour afficher la version du jre installé.
Avec la version 1.6, il est maintenant possible de sélectionner une autre installation JRE que la dernière sans aucune modification du registre.
L'installation JRE sont répertoriés dans le registre dans la clé
Prendre ce test simple de la classe
Sur un système, avec 1,6 et 1,5 installé. Si vous tapez
C'est probablement le JRE 1.6 qui sera utilisé puisque c'est le dernier installé.
À la force de la 1.5 JRE au lieu de cela, utilisez la ligne de commande.
Si le pseudo-code est incompatible avec le JRE puis .. ça ne marchera pas, bien sûr.
ref : note technique java 6
Vous pouvez toujours donner le chemin d'accès complet à utiliser une installation spécifique. Le lancement de la JVM de cette façon, ne pas utiliser le paramètre de registre.
source : Sélectionnez un particulier JRE à partir de la ligne de commande
Que
AppData
chemin dans votre commentaire n'est pas sur votre chemin (soi-disant, de toute façon), donc ce n'est probablement pas ce qu'il utilise. Malheureusement, il n'y a pas unwhich
de commande sur Windows.Si vous modifiez votre chemin et passer la
C:\Program Files\Java\bin
répertoire au début de la liste et elle affiche toujours1.7.0_09
puis d'une certaine manière vous avez JDK7u9 dans votre JDK7u7 dossier. Sinon, accédez à tous les autres répertoires sur votre chemin, et de les ouvrir 1 par 1 jusqu'à ce que vous trouver le bonjava
fichier. Heureusement pour vous, votre chemin est beaucoup plus courte que la mienne.Remarque que lorsqu'on fait:
Il peut aussi regarder pour
java.bat
et d'autres non-exe
extensions, donc gardez un œil pendant que vous êtes à la recherche de votre chemin. Essayez de lancer:De cette façon, vous savoir vous êtes à la recherche d'un
exe
fichier.Une dernière chose que vous pouvez essayer:
Si cela renvoie
1.7.0_09
puis quelque chose s'est passé la mise à jour de votre JDK en place, ce qui n'est pas censé arriver, autant que je sache (mais je peux me tromper).En réponse à "la" question:
Ce qui s'est passé ici, c'est que vous avez installé jdk1.7.0_07 et puis vous auto-mis à jour il. Lorsque cela se produit , il utilise encore l'ancien nom de dossier que vous avez initialement installé à.
Après que j'ai installé Java , j'ai l'habitude de faire une copie du JDK le répertoire et le nom avec le numéro de version. Ensuite, je peux appeler directement un certain java comme suit:
Donc, ma recommandation est de définir vos JAVA_HOME système variable et la variable de CHEMIN d'accès comme je montre ci-dessus. Cette emporterait tout sur votre système, de sorte que votre JDK de votre choix est la valeur par défaut au cours de la JRE.
Adjonction de résoudre votre problème:
De plus, si elle ne fonctionne pas, cela signifie que vous avez défini le
PATH
pour plusieurs versions de java, inclure uniquement la dernière et tout supprimer à partirPATH
variables.