เหตุใด Java 8 จึงถูกดำเนินการภายใต้ Windows 8 แม้ว่า Java 7 จะชี้ไปที่ตัวแปรสภาพแวดล้อมของเส้นทาง


0

ฉันมีpathตัวแปรสภาพแวดล้อมของฉันตั้งค่าให้มีโฟลเดอร์ถังขยะ Java 7 ของฉัน ( C:\Program Files\Java\jdk1.7.0_55) การพิมพ์pathตัวแปรไปยังคอนโซลยืนยันแน่นอนว่าไม่มีJava\binโฟลเดอร์อื่นอยู่ในนั้น

ยังเมื่อฉันเรียกใช้คำสั่งjava -versionพิมพ์เป็นดังนี้:

java version "1.8.0_05"
Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode)

นอกจาก Java 7 แล้วฉันยังติดตั้ง Java 6 และ Java 8 อีกด้วย การติดตั้งทั้งหมดเป็น JDK ที่ติดตั้ง JREs แยกต่างหากเช่นกัน

เหตุใด Java 8 จึงรันและไม่ใช่ Java 7 ในกรณีนี้ (โดยทั้งพรอมต์คำสั่งแบบเก่าและ Powershell)


จะเกิดอะไรขึ้นถ้าคุณเปลี่ยนไดเรกทอรีเป็น "C: \ Program Files \ Java \ jdk1.7.0_55 \ bin" แล้วจึงทำ "java -version"? บางทีจาวาเก่าของคุณอาจถูกเขียนทับด้วยเวอร์ชั่นใหม่
drk.com.ar

@ drk.com.ar CD'ing ไปที่ '<JDK7> \ bin' dir และทำ java -version พิมพ์ 'java version "1.7.0_55"' ตามที่คาดไว้ ฉันเดาว่ามีบางอย่างนอกเหนือจาก PATH ที่บอกตัวประมวลผลคำสั่งว่าจะเรียกใช้ข้อมูลจากที่ไหน บางทีบางสิ่งในรีจิสทรี
Kallja

ฉันไม่คิดอย่างนั้นจริงๆ คอนโซลเชลล์ต้องทำตามตัวแปรระบบ PATH สำหรับการค้นหาไฟล์เรียกทำงาน ลองวาง "C: \ Program Files \ Java \ jdk1.7.0_55 \ bin" เป็นเส้นทางแรกในตัวแปร ตรวจสอบให้แน่ใจว่าเป็นรายการแรกโดยพิมพ์ PATH ลงในคอนโซลแล้วลองอีกครั้ง หากคุณยังไม่ได้ทำ พิจารณาว่าตัวแปร PATH เป็นการผสานระหว่างผู้ใช้และการกำหนดค่าระบบ
drk.com.ar

@ drk.com.ar การเพิ่ม java dir ที่ต้องการเป็นรายการพา ธ แรกที่ช่วย ใส่ไว้เป็นคำตอบและฉันจะยอมรับมัน การตรวจสอบปัญหาอย่างใกล้ชิดพบว่าตัวติดตั้ง Java 8 ใส่ไฟล์ java.exe ในไดเรกทอรี <windir> \ system32 ซึ่งรวมอยู่ในตัวแปรสภาพแวดล้อมของพา ธ โดยค่าเริ่มต้น ฉันมี java dir เป็นตัวแปรสภาพแวดล้อมของผู้ใช้ซึ่งถูกแทนที่โดยตัวแปรระบบกว้างเนื่องจากพวกเขาถูกพิจารณาว่าเป็นตัวแปรแรกและตัวแปรเฉพาะของผู้ใช้หลังจากนั้น
Kallja

เสร็จสิ้น ความจริงที่ว่าตัวติดตั้ง Java 8 คัดลอกไฟล์เรียกทำงาน java ลงในไดเรกทอรีระบบเป็นการละเมิดหลักปฏิบัติที่ดีสำหรับตัวติดตั้งใด ๆ
drk.com.ar

คำตอบ:


1

คอนโซลเชลล์ต้องทำตามตัวแปรระบบ PATH สำหรับการค้นหาไฟล์เรียกทำงาน ลองวาง "C: \ Program Files \ Java \ jdk1.7.0_55 \ bin" เป็นเส้นทางแรกในตัวแปร ตรวจสอบให้แน่ใจว่าเป็นรายการแรกโดยพิมพ์ PATH ลงในคอนโซลแล้วลองอีกครั้ง หากคุณยังไม่ได้ทำ พิจารณาว่าตัวแปร PATH เป็นการผสานระหว่างผู้ใช้และการกำหนดค่าระบบ

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