Có nhiều lúc bạn cần sử dụng một phiên bản nhất định của Java để phục vụ công việc, ví dụ như build app android thì cần Java 8 trong khi version mới nhất của Java hiện đã là 11 (tại thời điểm viết bài). Sau đây là một vài bước đơn giản để bạn có thể thiết lập môi trường MacOS sử dụng một phiên bản nhất định (trong trường hợp máy bạn cài đặt nhiều phiên bản Java) và thay đổi giữa các phiên bản của Java.

Bạn không cần phải cài đặt thêm bất cứ plugin hay thư viện nào để có thể thực hiện các bước sau đây:

1: Đầu tiên bạn cần list ra tất cả các version Java hiện có trên máy bằng câu lệnh sau:

/usr/libexec/java_home -V

Bạn có thể sẽ nhạn được nội dung như sau:

Matching Java Virtual Machines (3):
1.8.0_202, x86_64:   "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home
1.6.0_65-b14-462, x86_64:   "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
1.6.0_65-b14-462, i386: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home

2: Chọn version mà bạn muốn chọn làm mặc định

Ví dụ tôi chọn version 1.6.0_65-b14-462 làm mặc định thì chỉ cần:

export JAVA_HOME=$(/usr/libexec/java_home -v 1.6.0_65-b14-462)

Bạn cũng có thể đặt câu lệnh này vào .bashrc hoặc .zshrc của bạn để auto exec mỗi khi bạn mở một shell session mới.

3: Kiểm tra lại với java -version bạn sẽ nhận được thông tin tương ứng

java version "1.6.0_65"
Java(TM) SE Runtime Environment (build 1.6.0_65-b14-462-11M4609)
Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-462, mixed mode)

Bonus:

Bạn còn có thể:

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

hoặc

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

Thiết lập như thế này sẽ hỗ trợ chọn version linh hoạt hơn. Đồng thời vẫn đảm bảo khả năng tương thích trong cùng một phiên bản Java.