Làm cách nào để đặt biến môi trường JAVA_HOME trên Mac OS X 10.9?


135

Tôi mới mua một chiếc MacBook Pro hoàn toàn mới.

Đây là MAC đầu tiên của tôi từ trước đến giờ và tôi vẫn đang cố gắng tìm cách di chuyển.

Dù sao, tôi cũng mới biết về Java và tôi đã thực hành trên PC Windows của mình trước khi nó chết vĩnh viễn.

Bây giờ tôi đang dùng MAC này, tôi đã cài đặt JDK của mình và bây giờ tôi cần đặt JAVA_HOMEbiến môi trường.

Tôi không có ý tưởng gì để làm.

Tôi đã thử làm theo một số hướng dẫn này và không đi được xa.

  1. Mkyong.com: Cách đặt biến JAVA_HOME trong Mac OSX

  2. YouTube: Cách đặt biến môi trường trên mac, linux, solaris, rhel

  3. YouTube: Cách đặt biến môi trường trong máy Mac

Tôi đã có thể định vị thiết bị đầu cuối và tôi nghĩ rằng tôi đã tạo ra một số tệp. Tôi nhận được tin nhắn như thế này:


(1) Một chương trình khác có thể đang chỉnh sửa cùng một tệp. Nếu đây là trường hợp, hãy cẩn thận để không kết thúc với hai trường hợp khác nhau của cùng một tệp khi thực hiện thay đổi. Thoát, hoặc tiếp tục thận trọng.


(2) Một phiên chỉnh sửa cho tập tin này bị lỗi. Nếu đây là trường hợp, sử dụng ": recovery" hoặc "vim -r /Users/Erwin/.bash_profile" để khôi phục các thay đổi (xem ": help recovery"). Nếu bạn đã làm điều này rồi, hãy xóa tệp hoán đổi "/Users/Erwin/.bash_profile.sw p" để tránh thông báo này.

Ai đó có thể cho biết cách thiết lập Java trong môi trường Mac OSX từng bước không?




giải thích ngắn gọn: stackoverflow.com/a/59151321/5788247
Shomu

Câu trả lời:


327

Nghĩa đen tất cả những gì bạn phải làm là:

echo export "JAVA_HOME=\$(/usr/libexec/java_home)" >> ~/.bash_profile

và khởi động lại vỏ của bạn.

Nếu bạn đã cài đặt nhiều phiên bản JDK và bạn muốn nó là một phiên bản cụ thể, bạn có thể sử dụng -vcờ để java_homethích như vậy:

echo export "JAVA_HOME=\$(/usr/libexec/java_home -v 1.7)" >> ~/.bash_profile

1
Khi bạn nói "shell", ý bạn là tôi đóng cửa sổ terminal và mở lại? Ngoài ra, điều này có thêm vĩnh viễn biến môi trường cho jdk của tôi không?
Islander_zero

1
Vâng, đó là những gì tôi muốn nói. Và vâng, điều đó sẽ thêm biến cho tất cả các vỏ đăng nhập cho người dùng của bạn (nghĩa là, gần như tất cả các trường hợp mà bạn muốn nó)
Adrian Petrescu

13
Tôi nghĩ thay vì khởi động lại thiết bị đầu cuối nếu bạn làm source ~/.bash_profilenó sẽ hoạt động, phải không?
Shobhit Puri

2
@ShobhitPuri Yup, nó sẽ, tôi chỉ muốn giữ nó đơn giản cho người hỏi.
Adrian Petrescu

4
echo export "JAVA_HOME=\$(/usr/libexec/java_home -v 1.7)" >> ~/.bash_profileNếu bạn cần một phiên bản cụ thể. 1.7 trong trường hợp này.
sebastian

26

Tôi đã làm điều đó bằng cách đặt

export JAVA_HOME=`/usr/libexec/java_home`

(phân tích ngược) trong .bashrc của tôi. Xem nhận xét của tôi về câu trả lời của Adrian.


15

Trong Mac OSX 10.5 trở lên, Apple khuyên bạn nên đặt $JAVA_HOME variable to /usr/libexec/java_home, chỉ xuất $JAVA_HOME in file ~/. bash_profilehoặc ~/.profile.

Mở terminal và chạy lệnh dưới đây.

$ vim .bash_profile

export JAVA_HOME=$(/usr/libexec/java_home)

lưu và thoát khỏi trình soạn thảo vim, sau đó chạy lệnh nguồn trên .bash_profile

$ source .bash_profile

$ echo $JAVA_HOME

/Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home

11

Đặt biến môi trường $ JAVA_HOME trên Mac OSX mới nhất hoặc cũ hơn.

Tải xuống và cài đặt cài đặt JDK

  1. Đầu tiên, cài đặt JDK
  2. Mở terminal kiểm tra phiên bản java

$ java -version

Đặt biến môi trường JAVA_HOME

  1. Mở tệp .zprofile

$ open -t .zprofile

Hoặc tạo . tập tin zprofile

$ open -t .zprofile

  1. viết bằng .zprofile

export JAVA_HOME=$(/usr/libexec/java_home)

Lưu .zprofile và đóng tệp bash và sau đó ghi vào thiết bị đầu cuối để hoạt động hoàn hảo .

$ source .zprofile

Kiểm tra thiết lập trong thiết bị đầu cuối

$ echo $JAVA_HOME  
/Library/Java/JavaVirtualMachines/jdk-13.0.1.jdk/Contents/Home

1
Ngoài ra tôi có một câu hỏi "/ usr / libexec / java_home" thực sự là gì. Trả lời: medium.com/zendesk-engineering/...
ekar

1
/ usr / libexec / java_home là cách thiết lập JAVA_HOME đơn giản nhất trên macOS. Bạn có thể sử dụng java_home để: Tìm tất cả các JDK đã cài đặt.
Shomu

7

Bạn nên kiểm tra shell terminal mặc định trước khi đặt biến môi trường JAVA_HOME , thông qua các lệnh sau:

$ echo $SHELL
/bin/bash

Nếu thiết bị đầu cuối mặc định của bạn là / bin / bash (Bash), thì bạn nên sử dụng phương thức @Adrian Petrescu .

Nếu thiết bị đầu cuối mặc định của bạn là / bin / zsh (Z Shell), thì bạn nên đặt biến môi trường này trong tệp ~ / .zshenv với nội dung sau:

export JAVA_HOME="$(/usr/libexec/java_home)"

Tương tự, bất kỳ loại thiết bị đầu cuối nào khác không được đề cập ở trên, bạn nên đặt biến môi trường trong tệp env thiết bị đầu cuối tương ứng.


4

Tôi đã làm cho nó hoạt động bằng cách thêm vào ~ / .profile. Bằng cách nào đó sau khi cập nhật lên El Capitan beta, nó không hoạt động mặc dù JAVA_HOME đã được xác định trong .bash_profile.

Nếu có bất kỳ người dùng beta El Capitan nào, hãy thử thêm vào .profile


2
Sự khác biệt giữa .profile và .bash_profile là gì?
IgorGanapolsky

3
Ý tưởng là .profile chạy cho tất cả các shell (sh, zsh, sao cũng được); .bash_profile, chỉ dành cho bash shell.
JohnL4

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.