Cách hạ cấp Java từ 9 xuống 8 trên MACOS. Eclipse không chạy với Java 9


94

Cách hạ cấp Java từ 9 xuống 8 trên macOS Sierra 10.12.6 (16G29). Tôi đã thử gỡ bỏ plugin Java và cài đặt Java 8, tuy nhiên phiên bản Java và javac hiển thị 9 trong thiết bị đầu cuối, nhưng Trong tùy chọn hệ thống, nó là 8. Cảm ơn trước!


Phiên bản của MacOS có thể phù hợp; xem xét chỉnh sửa và thêm điều đó vào câu hỏi (không đăng dưới dạng nhận xét).
AJNeufeld

Câu trả lời:


304

Bạn không cần phải hạ điểm. Bạn có thể chạy nhiều phiên bản Java trên MacOS. Bạn có thể đặt phiên bản thiết bị đầu cuối của mình bằng lệnh này trong 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)

Bạn có thể đặt giá trị mặc định trong .bashrc, .profile hoặc .zprofile


3
Cảm ơn rất nhiều, điều đó đã giúp tôi! Thật tiếc khi Java Control Panel trong MacOS không hiển thị các cài đặt như thế này.
sesm

Bạn có thể vui lòng giải thích câu trả lời của bạn? Nghĩa /usr/libexec/java_home -v 11là gì?
Sandeepan Nath

1
Đang làm export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)export JAVA_HOME=$(/usr/libexec/java_home -v 1.8.0_211)không giải quyết được vấn đề của tôi. Cũng đã khởi động lại thiết bị đầu cuối của tôi.
HendraWD

143

Đây là cách tôi đã làm điều đó. Bạn không cần phải xóa Java 9 hoặc phiên bản mới hơn.

Bước 1: Cài đặt Java 8

Bạn có thể tải xuống Java 8 từ đây: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

Bước 2: Sau khi cài đặt Java 8. Xác nhận cài đặt tất cả các phiên bản. Nhập lệnh sau vào thiết bị đầu cuối của bạn.

/usr/libexec/java_home -V

Bước 3: Chỉnh sửa .bash_profile

sudo nano ~/.bash_profile

Bước 4: Thêm 1.8 làm mặc định. (Thêm dòng bên dưới vào tệp bash_profile).

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

Bây giờ Nhấn CTRL + X để thoát khỏi bash. Nhấn 'Y' để lưu các thay đổi.

Bước 5: Tải lại bash_profile

source ~/.bash_profile

Bước 6: Xác nhận phiên bản Java hiện tại

java -version

Có thể thay đổi phiên bản javaws theo cách tương tự không? Bởi vì java -version báo cáo rằng nó đã thay đổi, nhưng javaws vẫn chạy mới nhất hiện có.
lapkritinis

11

Nếu bạn đã cài đặt nhiều phiên bản Java trên máy Mac của mình, đây là cách nhanh chóng để chuyển phiên bản mặc định bằng Terminal. Trong ví dụ này, tôi sẽ chuyển Java 10 sang 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

Sau đó, trong .bash_profile của bạn, hãy thêm phần sau.

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

Bây giờ nếu bạn thử lại java -version, bạn sẽ thấy phiên bản bạn muốn.

$ 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

Vì nó cho phép cài đặt nhiều hơn một phiên bản java, tôi đã vô tình cài đặt nhiều phiên bản 3 nhưng nó chỉ đến phiên bản mới nhất "11.0.2"

Tôi có thể giải quyết vấn đề này bằng các bước dưới đây để chuyển sang "1.8"

$java -version

phiên bản openjdk "11.0.2" 2019-01-15 Môi trường thời gian chạy OpenJDK 18.9 (bản dựng 11.0.2 + 9) OpenJDK 64-Bit Server VM 18.9 (bản dựng 11.0.2 + 9, chế độ hỗn hợp)

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

phiên bản java "1.8.0_202-ea" Môi trường thời gian chạy Java (TM) SE (bản dựng 1.8.0_202-ea-b03) Máy chủ ảo Java HotSpot (TM) 64-Bit (bản dựng 25.202-b03, chế độ hỗn hợp)


Tôi sẽ tránh xóa các tệp trên hệ thống của bạn. Thay vào đó, chỉ cần chuyển hướng $JAVA_HOMEbiến env.
simeg

3

Câu hỏi cũ nhưng chỉ có vấn đề đó / jira chết lặng đang gặp sự cố với java 10 / và không tìm thấy câu trả lời đơn giản ở đây nên chỉ cần bỏ qua:

$ /usr/libexec/java_home -Vhiển thị các phiên bản đã cài đặt và vị trí của chúng để bạn có thể gỡ bỏ một cách đơn giản /Library/Java/JavaVirtualMachines/<the_version_you_want_to_remove>. Thì đấy


1

Giải pháp đơn giản nhất có thể là cài đặt Java 8 song song với Java 9 (nếu không vẫn còn tồn tại) và chỉ định JVM được sử dụng một cách rõ ràng eclipse.ini. Bạn có thể tìm thấy mô tả về cài đặt này bao gồm mô tả cách tìm eclipse.initrên máy Mac tại Eclipsepedia


-2

Bạn có thể xóa "JavaAppletPlugin.plugin" có trong Spotlight hoặc Finder, sau đó cài đặt lại Java 8 đã tải xuống.

Điều này đơn giản sẽ giải quyết vấn đề của bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.