Hvorfor returnerer java -version en anden version end den, der er defineret i JAVA_HOME?
Kør
where java
ved din kommandoprompt.
På mit system udskrev det noget ganske uventet:
C:\Users\Mikel>where java
C:\Windows\System32\java.exe
Bekræftelse af, at der virkelig er en Java der:
C:\Users\Mikel>c:\windows\system32\java.exe -version
java version "1.6.0_22"
Java(TM) SE Runtime Environment (build 1.6.0_22-b04)
Java HotSpot(TM) Client VM (build 17.1-b03, mixed mode, sharing)
Så en løsning er at sikre, at din foretrukne Java er i PATH før C:\Windows\System32
.
Jeg prøvede også at kigge i Java-kontrolpanelet for at se, om det administrerer versionen i C:\Windows\System32
, men jeg kunne kun se indstillingerne, ikke redigere dem. Måske virker det for dig?
Som Mikel har nævnt, i din maskine er java taget fra C:\Windows\System32\java.exe
.
Skift stien i systemmiljøvariablerne som nævnt af John T.
Og modificer den med C:\bea\jdk150_10\bin
før %SystemRoot%\system32
i stien.
Rediger PATH
variabel, ikke JAVA_HOME
.
Se Java-dokumentationen om indstilling eller ændring af din PATH-variabel.
-
Start -> Kontrolpanel -> System -> Avanceret
-
Klik på Miljøvariabler, under Systemvariable, find
PATH
, og klik på den. -
Rediger
PATH
i redigeringsvinduerne ved at tilføje placeringen af klassen til værdien forPATH
. Hvis du ikke har varenPATH
, kan du vælge at tilføje en ny variabel og tilføjePATH
som navnet og placeringen af klassen som værdien. -
Luk vinduet.
-
Åbn kommandopromptvinduet igen, og kør din Java-kode.