วิธีดาวน์เกรด Java จาก 9 เป็น 8 บน MACOS Eclipse ไม่ได้รันด้วย Java 9


100

วิธีดาวน์เกรด Java จาก 9 เป็น 8 บน macOS Sierra 10.12.6 (16G29) ฉันลองลบปลั๊กอิน Java และติดตั้ง Java 8 แต่เวอร์ชัน Java และ javac แสดง 9 ในเทอร์มินัล แต่ในการตั้งค่าระบบเป็น 8 ขอบคุณล่วงหน้า


เวอร์ชันของ MacOS อาจเกี่ยวข้อง พิจารณาแก้ไขและเพิ่มคำถามนั้น (ไม่ใช่โพสต์เป็นความคิดเห็น)
AJNeufeld

คุณได้ดูwiki.eclipse.org/Configure_Eclipse_for_Java_9หรือไม่
เชลโล

คำตอบ:


316

คุณไม่จำเป็นต้องดาวน์เกรด คุณสามารถเรียกใช้ Java ได้มากกว่าหนึ่งเวอร์ชันบน MacOS คุณสามารถตั้งค่าเวอร์ชันของเทอร์มินัลของคุณด้วยคำสั่งนี้ใน MacOS

# List Java versions installed
/usr/libexec/java_home -V

# Java 11
export JAVA_HOME=$(/usr/libexec/java_home -v 11)

# Java 1.8
export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)

# Java 1.7
export JAVA_HOME=$(/usr/libexec/java_home -v 1.7)

# Java 1.6
export JAVA_HOME=$(/usr/libexec/java_home -v 1.6)

คุณสามารถตั้งค่าเริ่มต้นใน. bashrc, .profile หรือ. zprofile


3
ขอบคุณมากที่ช่วยฉัน! เป็นเรื่องน่าเสียดายที่ Java Control Panel ใน MacOS ไม่เปิดเผยการตั้งค่าเช่นนี้
sesm

คุณช่วยอธิบายคำตอบของคุณอย่างละเอียดได้ไหม อะไร/usr/libexec/java_home -v 11หมายถึง?
Sandeepan Nath

1
ทำexport JAVA_HOME=$(/usr/libexec/java_home -v 1.8)แล้วexport JAVA_HOME=$(/usr/libexec/java_home -v 1.8.0_211)ไม่แก้ปัญหาของฉัน รีสตาร์ทเทอร์มินัลของฉันแล้วด้วย
HendraWD

149

นี่คือวิธีที่ฉันทำ คุณไม่จำเป็นต้องลบ Java 9 หรือเวอร์ชันที่ใหม่กว่า

ขั้นตอนที่ 1: ติดตั้ง Java 8

คุณสามารถดาวน์โหลด Java 8 ได้จากที่นี่: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

ขั้นตอนที่ 2:หลังการติดตั้ง Java 8 ยืนยันการติดตั้งทุกเวอร์ชันพิมพ์คำสั่งต่อไปนี้ในเทอร์มินัลของคุณ

/usr/libexec/java_home -V

ขั้นตอนที่ 3:แก้ไข. bash_profile

sudo nano ~/.bash_profile

ขั้นตอนที่ 4:เพิ่ม 1.8 เป็นค่าเริ่มต้น (เพิ่มบรรทัดด้านล่างในไฟล์ bash_profile)

export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)

ตอนนี้กด CTRL + X เพื่อออกจาก bash กด 'Y' เพื่อบันทึกการเปลี่ยนแปลง

ขั้นตอนที่ 5:โหลด bash_profile ใหม่

source ~/.bash_profile

ขั้นตอนที่ 6:ยืนยันเวอร์ชันปัจจุบันของ Java

java -version

เป็นไปได้ไหมที่จะเปลี่ยนเวอร์ชัน javaws ด้วยวิธีเดียวกัน เนื่องจาก java -version รายงานว่ามีการเปลี่ยนแปลง แต่ javaws ยังคงรันใหม่ล่าสุดพร้อมใช้งาน
lapkritinis

11

หากคุณมี Java หลายเวอร์ชันติดตั้งบน Mac ของคุณนี่เป็นวิธีที่รวดเร็วในการเปลี่ยนเวอร์ชันเริ่มต้นโดยใช้ Terminal ในตัวอย่างนี้ฉันจะเปลี่ยน Java 10 เป็น Java 8

$ java -version
java version "10.0.1" 2018-04-17
Java(TM) SE Runtime Environment 18.3 (build 10.0.1+10)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.1+10, mixed mode)

$ /usr/libexec/java_home -V
Matching Java Virtual Machines (2):
    10.0.1, x86_64: "Java SE 10.0.1"    /Library/Java/JavaVirtualMachines/jdk-10.0.1.jdk/Contents/Home
    1.8.0_171, x86_64:  "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home

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

จากนั้นใน. bash_profile ของคุณให้เพิ่มสิ่งต่อไปนี้

# Java 8
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home

ตอนนี้ถ้าคุณลอง java -version อีกครั้งคุณจะเห็นเวอร์ชันที่คุณต้องการ

$ java -version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)

4

เนื่องจากอนุญาตให้ติดตั้ง java ได้มากกว่าหนึ่งเวอร์ชันฉันจึงติดตั้ง 3 เวอร์ชันโดยไม่รู้ตัว แต่ชี้ไปที่เวอร์ชันล่าสุด "11.0.2"

ฉันสามารถแก้ปัญหานี้ได้ด้วยขั้นตอนด้านล่างเพื่อย้ายไปที่ "1.8"

$java -version

openjdk เวอร์ชัน "11.0.2" 2019-01-15 OpenJDK Runtime Environment 18.9 (build 11.0.2 + 9) OpenJDK 64-Bit Server VM 18.9 (build 11.0.2 + 9, mixed mode)

cd /Library/Java/JavaVirtualMachines
ls

jdk1.8.0_201.jdk jdk1.8.0_202.jdk openjdk-11.0.2.jdk

sudo rm -rf openjdk-11.0.2.jdk
sudo rm -rf jdk1.8.0_201.jdk
ls

jdk1.8.0_202.jdk

java -version

เวอร์ชัน java "1.8.0_202-ea" Java (TM) SE Runtime Environment (build 1.8.0_202-ea-b03) Java HotSpot (TM) 64-Bit Server VM (build 25.202-b03, mixed mode)


ฉันจะหลีกเลี่ยงการลบไฟล์ในระบบของคุณ แทนที่จะเปลี่ยนทิศทาง$JAVA_HOMEตัวแปร env
simeg

3

คำถามเก่า แต่เพิ่งมีปัญหานั้น / jira โง่ที่มีปัญหากับ java 10 / และไม่พบคำตอบง่ายๆที่นี่ดังนั้นจะทิ้งไว้:

$ /usr/libexec/java_home -Vแสดงเวอร์ชันที่ติดตั้งและตำแหน่งเพื่อให้คุณสามารถลบออก/Library/Java/JavaVirtualMachines/<the_version_you_want_to_remove>ได้ Voila


1

ทางออกที่ง่ายอาจจะมีการติดตั้ง Java 8 ควบคู่ไปกับ Java 9 (ถ้าไม่ได้ยังคงยังคง existant) และระบุ JVM eclipse.iniที่จะถูกนำมาใช้อย่างชัดเจนใน คุณสามารถดูคำอธิบายของการตั้งค่านี้รวมถึงคำอธิบายวิธีค้นหาeclipse.iniบน Mac ได้ที่Eclipsepedia


-2

คุณสามารถลบ "JavaAppletPlugin.plugin" ที่พบใน Spotlight หรือ Finder จากนั้นติดตั้ง Java 8 ที่ดาวน์โหลดมาใหม่

วิธีนี้จะช่วยแก้ปัญหาของคุณได้

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