ตั้งค่า JAVA_HOME ไม่ทำงานใน Sierra


1

ฉันมี Java เวอร์ชันต่อไปนี้:

$ /usr/libexec/java_home -V
Matching Java Virtual Machines (4):
    9.0.1, x86_64:  "Java SE 9.0.1" /Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home
    1.8.0_131, x86_64:  "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
    1.8.0_121, x86_64:  "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home
    1.7.0_80, x86_64:   "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home

/Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home

จากนั้นฉันต้องการตั้งรุ่น Java เป็น 1.7:

$ JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home
$ echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home

ดูเหมือนตกลง แต่:

$ java -version
java version "9.0.1"
Java(TM) SE Runtime Environment (build 9.0.1+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)

ทำไม?

คำตอบ:


4

ในการตั้งค่าJAVA_HOMEคุณควรใช้

export JAVA_HOME=`/usr/libexec/java_home -v "1.7*"`

หรือ

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home

ขณะนี้คุณไม่ได้ใช้exportตัวแปร ตัวแปรสภาวะแวดล้อมที่ตั้งค่าโดยไม่มีexportคำสั่งจะไม่ถูกสืบทอดในสภาวะแวดล้อมของคำสั่งที่คุณกำลังเรียกดังนั้น Java จะไม่สามารถอ่านได้

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