มีการรายงาน Java รุ่นที่ไม่ถูกต้อง


17

ฉันใช้ Windows 7 Professional x64 และติดตั้ง Java เวอร์ชันต่อไปนี้แล้ว:

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

ในตัวแปรสภาพแวดล้อมของฉันฉันPATHมีC:\Program Files\Java\jdk1.6.0_24\binและมีการJAVA_HOMEตั้งค่าของฉันC:\Program Files\Java\jdk1.6.0_24\bin

อย่างไรก็ตามการเรียกใช้java -versionรายงาน

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)

กรณีนี้เป็นอย่างไรเมื่อไม่มีการอ้างอิงถึง Java รุ่นนี้ในตัวแปรสภาพแวดล้อมของฉัน

ความช่วยเหลือใด ๆ เกี่ยวกับปัญหานี้จะยอดเยี่ยมเพราะฉันพยายามเรียกใช้Apache ANTโดยใช้ Java 1.6

คำตอบ:


27

คุณอาจมีการคัดลอก java.exe ไปยังหนึ่งในเส้นทางของระบบ (AFAIK ซึ่งเป็นพฤติกรรมเริ่มต้นของตัวติดตั้ง Java) เพื่อตรวจสอบสิ่งที่ดำเนินการจริงเมื่อคุณเรียกใช้ 'java -version' เรียกใช้จากบรรทัดคำสั่ง:
for %I in (java.exe) do @echo %~$PATH:Iและมันจะบอกคุณว่ามันอยู่ที่ไหน


1
ว้าว - มันมีประโยชน์มาก! ด้วยเหตุผลบางอย่างjava.exeอยู่ใน system32 ฉันจะย้ายมันขึ้นบนเส้นทางที่กล่าวถึง
มาลาคี

1
ปัญหาเดียวกันที่นี่java.exeก็เข้าsystem32และProgramData\Oracle\javapath
เควินLabécot

หากคุณสงสัยว่าสิ่งที่จะทำต่อไปไม่สามารถเปลี่ยนชื่อexes ผมเปลี่ยนชื่อjava.exe, javaw.exeและjavaws.exeเพื่อjava-foobar.exe, javaw-foobar.exeและjavaws-foobar.exeตามลำดับ
javatarz

เพิ่มจำนวนสถานที่ที่ฉันต้องตรวจสอบเป็น 4: PATH, JAVA_HOME, แผงควบคุมและตอนนี้ก็เป็น System32 ... แค่ว้าว วันหนึ่งรีจิสทรีจะกลายเป็นอันดับที่ 5 และฉันขอขอบคุณท่าน
Jaroslav Záruba

2

โฟลเดอร์ PATH จะถูกตรวจสอบตามลำดับที่ปรากฏ ลองย้ายพา ธ java ไปไว้ข้างหน้า หากวิธีนี้แก้ไขปัญหาได้แสดงว่าคุณมีรุ่นอื่นอยู่ในเส้นทางของคุณ


2

เมื่อติดตั้ง JRE สาธารณะ (ใช้โดยปลั๊กอิน Java) ไฟล์ java.exe จะถูกสร้างขึ้นใน C: \ WINNT \ system32 (IIRC) อาจเป็นคำสั่ง java ที่เรียกใช้งานเนื่องจาก C: \ WINNT \ system32 มาก่อนไดเรกทอรี JDK / bin ใน PATH ของคุณ

วางไดเร็กทอรี JDK / bin ไว้ที่ตำแหน่งเริ่มต้นของ PATH


0

นี่จะรายงานเวอร์ชัน Java ที่ถูกต้องและจะแจ้งให้คุณทราบถึงปัญหาที่เกิดขึ้น:

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

0

ฉันขอแนะนำให้คุณถอนการติดตั้ง JDKs และ JREs ทั้งหมด จากนั้นคุณติดตั้ง JDK ล่าสุดและอัปเดต classpath, JAVA_HOME และพา ธ สิ่งนี้ใช้ได้สำหรับฉัน


-1

ดังที่ฉันค้นพบเมื่อเร็ว ๆ นี้ตรวจสอบให้แน่ใจว่าคุณกำลังกำหนดJAVA_HOMEในส่วน "ตัวแปรระบบ" และไม่ใช่ส่วน "ตัวแปรผู้ใช้"

ฉันมี%JAVA_HOME%\binตอนเริ่มต้นPATHแต่มันไม่ทำงาน - การเพิ่มJAVA_HOMEระบบแก้ไขปัญหา

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.