Java sürümü neden JAVA_HOME içinde tanımlanandan farklı bir sürüm döndürüyor?


18

Benim JAVA_HOME C:\bea\jdk150_10\bin(Java 1.5) olarak ayarlanmış . Ancak, çalıştırdığımda java -versionaşağıdakileri elde ederim:

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)

1.5 sürümünü nasıl kullanabilirim?

Yanıtlar:



14

Çalıştırmak

where java

komut isteminde.

Sistemimde, beklenmedik bir şey yazdırdı:

C:\Users\Mikel>where java
C:\Windows\System32\java.exe

Orada gerçekten bir Java olduğunu doğrulamak:

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)

Bu yüzden bir çözüm, tercih ettiğiniz Java'nın daha önce PATH'de olmasını sağlamaktır C:\Windows\System32.

Ayrıca, sürümü kontrol edip etmediğini görmek için Java kontrol paneline bakmayı denedim C:\Windows\System32, ancak yalnızca ayarları görüntüleyebildim, onları düzenleyemedim. Belki senin için işe yarıyor mu?


8

PATHDeğişkeni değiştirin , değil JAVA_HOME.

PATH değişkeninizi ayarlama veya değiştirme hakkındaki Java belgelerine bakın .

  1. Başlat -> Denetim Masası -> Sistem -> Gelişmiş

  2. Ortam Değişkenleri'ne tıklayın, Sistem Değişkenleri altında bulun PATHve tıklayın.

  3. Düzenle pencerelerinde, PATHsınıfın değerini değerine ekleyerek değiştirin PATH. Öğeye sahip PATHdeğilseniz, yeni bir değişken eklemeyi seçebilir PATHve değer olarak sınıfın adını ve konumunu da ekleyebilirsiniz .

  4. Pencereyi kapat.

  5. Komut istemi penceresini yeniden açın ve Java kodunuzu çalıştırın.


Ben de PATH değişkeni üzerinde jdk 6 referansları görmüyorum. Sadece Java 5 X)
Jeune

Bu bir örnek, prosedür hala aynı ..
John T

4

Tüm uygulamalar JAVA_HOMEJDK sürümünü almak için kullanılmaz . Daha önce de belirtildiği gibi, bazıları %SystemRoot%\System32\java.exe. Bu %SystemRoot%\java.exe -versionsürümün hangisi olduğunu görmek için yapabilirsiniz .

Diğer yanıtlara eklemem gereken şey, Maven ile inşa ederseniz, Maven'in doğru sürümü kullanması için M2_HOME\bindaha önce olması gerektiğidir . %SystemRoot%JAVA_HOME


1

JAVA_HOME çöp kutusuna işaret etmemelidir!

SET "JAVA_HOME = C: \ bea \ jdk150_10" SET "PATH =% JAVA_HOME% / bin;% PATH%"

Ayrıca JAVA_HOME yolunun doğru olduğundan emin olun! Yazım hatası varsa ve yolunuzda C: \ Windows \ System32 \ varsa o java.exe belirttiğiniz yerine çalıştırılır.


0

Benim için 10 kazanmak, javac -version java7 gösterdi ve java -version java8 gösterdi. Komut isteminde "nerede java" üç yerde java gösterdi. Java'yı C: \ Windows \ System32 dizininden kaldırmak zorunda kaldım. iki saatlik bir mücadeleden sonra çalıştı.


0

Ortam değişkenlerinin gelişmiş ayarlarına gidin ve yol değişkenini düzenleyin. hangi java sürümünü kullanırsanız kullanın, bu sürüm yolunu diğer java sürümlerinin diğer tüm ortam değişkenlerinin üzerine taşıyın.

burada görüntüde java_home ortam değişkeni oracle java ortamından yukarı taşınır


-1

Bunu dene:

@echo off
DOSKEY WHICH=@for %%E in (%PATHEXT%) do @for %%I in ($*%%E) do @if NOT "%%~$PATH:I"=="" echo %%~$PATH:I
SET "JAVA_HOME=C:\Java\jdk1.6"
SET "PATH=%JAVA_HOME%\bin;%PATH%"
where.exe java
WHICH java
pause

-1

Aynı sorunla karşı karşıyaydım. Daha sonra suçlunun Java 8 olduğunu buldum.

çözüm

C: \ ProgramData \ Oracle \ Java dizinindeki javapat dosyasını sildim . Şimdi sistemim düzgün çalışıyor. Tutulma başlatma sorunumu da çözdü .


-2

Aynı sorunu yaşadım. Bunu yaparak sorunu çözdüm.

Windows 8 veya 10'da, ortam değişkenindeki yoldan "C: \ ProgramFile \ Oracle \ Java \ javapath" dosyasını kaldırmanız gerekir.

Bu sorunu çözebilir.


2
Bu zaten önerildi, 2 yıl önce
Ramhound
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.