Versi java salah dilaporkan


17

Saya menjalankan Windows 7 Professional x64 dan menginstal versi Java berikut:

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

dalam variabel lingkungan saya, saya PATHmemiliki konten C:\Program Files\Java\jdk1.6.0_24\bindanJAVA_HOME set keC:\Program Files\Java\jdk1.6.0_24\bin

Namun menjalankan java -versionlaporan

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)

Bagaimana hal ini terjadi ketika tidak ada referensi ke versi Java ini di variabel Lingkungan saya.

Setiap bantuan tentang masalah ini akan sangat bagus karena saya mencoba menjalankan Apache ANT menggunakan Java 1.6.

Jawaban:


27

Anda mungkin telah menyalin java.exe ke salah satu jalur sistem (AFAIK itu perilaku default pemasang Java). Untuk memeriksa apa yang sebenarnya dieksekusi ketika Anda menjalankan 'java -version' dijalankan dari baris perintah:
for %I in (java.exe) do @echo %~$PATH:Idan itu akan memberi tahu Anda di mana itu.


1
Wow - itu sangat membantu! Untuk beberapa alasan java.exeada di system32. Saya akan memindahkannya ke jalan seperti yang disebutkan.
Maleakhi

1
Masalah yang sama di sini, java.exeadalah ke system32ANDProgramData\Oracle\javapath
Kevin Labécot

Jika Anda bertanya-tanya apa yang harus dilakukan selanjutnya, Anda dapat mengganti nama exes. Saya mengganti nama java.exe, javaw.exedan javaws.exemenjadi java-foobar.exe, javaw-foobar.exedan javaws-foobar.exemasing - masing.
jaharuiz

Yang meningkatkan jumlah tempat saya perlu memeriksa ke 4: PATH, JAVA_HOME, Control Panel dan sekarang juga System32 ... Hanya wow. Suatu hari registri akan menjadi 5. Dan untuk Anda, saya berterima kasih kepada Pak.
Jaroslav Záruba

2

Folder PATH diperiksa sesuai urutannya. Coba pindahkan jalur java ke depan. Jika itu memperbaiki masalah maka Anda memiliki versi lain di suatu tempat di jalur Anda.


2

Saat memasang JRE publik (digunakan oleh plugin Java), file java.exe juga dibuat di C: \ WINNT \ system32 (IIRC). Mungkin ini perintah java yang dijalankan, karena C: \ WINNT \ system32 muncul sebelum direktori JDK / bin di PATH Anda.

Letakkan direktori JDK / bin di awal PATH


0

Ini akan melaporkan versi java yang benar dan itu juga akan memberi tahu Anda apa masalahnya:

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

0

Saya sarankan Anda menghapus semua JDK dan JRE. Kemudian, Anda menginstal JDK terbaru dan memperbarui classpath, JAVA_HOME, dan path Anda. Ini berhasil untuk saya.


-1

Seperti yang baru-baru ini saya temukan, pastikan bahwa Anda mendefinisikan JAVA_HOMEdi bagian "Sistem variabel" dan bukan bagian "Variabel pengguna".

Saya sudah %JAVA_HOME%\bindi awal PATHtetapi tidak berhasil - menambah JAVA_HOMEsistem memperbaiki masalah.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.