ตั้งค่า Command Prompt บน Windows 7 เป็น JDK7 หลังจากติดตั้ง JDK8

เมื่อฉันติดตั้ง JDK 8 แล้ว ฉันไม่สามารถตั้งค่า Command Prompt เป็น JDK 7 อีกครั้งบน Windows 7 ได้

ฉันได้ตั้งค่าคุณสมบัติสภาพแวดล้อมของระบบสำหรับทั้ง JAVA_HOME และ PATH แล้ว ให้ชี้ไปที่ JDK7 และโฟลเดอร์ JDK7/bin ของฉัน และฉันก็รีสตาร์ท SO ด้วย และทุกครั้งที่ฉันเปิดพร้อมท์คำสั่งใหม่และเรียกใช้ java -version ฉันจะได้รับ Java เวอร์ชัน 8 เสมอ

ในการตั้งค่าสภาพแวดล้อม Java ฉันเปิดใช้งาน JDK 7 ด้วย

java-runtime-env-settings

ฉันจะกำหนดค่าพรอมต์คำสั่งสำหรับ JDK 7 อีกครั้งได้อย่างไร


person Miguel Gamboa    schedule 05.05.2014    source แหล่งที่มา
comment
คุณแน่ใจหรือว่า Java 7 เป็นอันดับแรกใน PATH ของคุณ? คือไม่ใช่หลังจาก c:\windows\system32   -  person Peter Lawrey    schedule 05.05.2014
comment
ใช่ มันเป็นหลังจาก %SystemRoot%\system32 แล้วไงล่ะ?   -  person Miguel Gamboa    schedule 05.05.2014
comment
MS-DOS ควรให้เกียรติ PATH ตามลำดับที่ปรากฏ ถ้าไม่เช่นนั้นอาจเป็นเพราะคุณมีตัวละครที่ไม่เข้าที่ คุณสามารถรวมเส้นทางที่เกี่ยวข้องของ PATH ไว้ในคำถามของคุณได้หรือไม่? BTW PATH ของคุณจะไม่พูด %SystemRoot%\system32 เมื่อคุณพิมพ์   -  person Peter Lawrey    schedule 05.05.2014
comment
ฉันไม่อยากจะเชื่อเลย แต่ทำไมถึงมี java.exe ใน c:\windows\system32???? ฉันไม่เคยมีพฤติกรรมที่ผิดพลาดนี้มาก่อน   -  person Miguel Gamboa    schedule 05.05.2014
comment
java.exe ใน system32 ค้นหาเวอร์ชันเริ่มต้นตามรีจิสทรีของคุณ ฉันมักจะลบมัน แต่ฉันไม่แน่ใจว่าสิ่งนี้จะปลอดภัยตลอดเวลา จะได้รับการติดตั้งใหม่ทุกครั้งที่คุณติดตั้งบน Windows   -  person Peter Lawrey    schedule 05.05.2014
comment
ขอบคุณ Peter Lawrey ฉันเปลี่ยนลำดับระหว่างโฟลเดอร์ JDK และตัวแปร System32 ใน PATH และใช้งานได้แล้ว บางทีฉันอาจจะลบ java.exe นี้ออกจาก System32 ด้วย ขอบคุณ   -  person Miguel Gamboa    schedule 05.05.2014


คำตอบ (1)


คำตอบตามความคิดเห็น

java.exe ได้รับการติดตั้งลงในไดเร็กทอรี %SystemRoot%\system32 และ java นี้รันเวอร์ชันของ Java ตามรีจิสทรีของคุณ หากคุณต้องการแทนที่ Java เวอร์ชันนี้ คุณต้องแน่ใจว่าไม่เพียงแต่ว่า Java อยู่ใน PATH ของคุณเท่านั้น แต่ยังต้องปรากฏก่อน %SystemRoot%\system32 ของคุณ ไม่เช่นนั้นเฉพาะคำสั่งเพิ่มเติม เช่น javac หรือ jar เท่านั้นที่ใช้เวอร์ชันที่คุณคาดหวัง (เนื่องจากสิ่งเหล่านี้ไม่อยู่ใน System32 )

person Peter Lawrey    schedule 05.05.2014
comment
เพียงลบ java*.exe ออกจาก system32 โดยมี PATH ที่เหมาะสม เท่านี้ก็เสร็จเรียบร้อย - person emesx; 05.05.2014