Bagaimana cara mengatur variabel lingkungan JAVA_HOME pada Mac OS X 10.9?

135

Saya baru saja membeli MacBook Pro baru.

Ini adalah MAC pertamaku dan aku masih mencoba memahami cara menavigasi.

Lagi pula, saya juga baru ke Jawa dan saya sudah berlatih di PC Windows saya sebelum mati secara permanen.

Sekarang saya menggunakan MAC ini, saya menginstal JDK saya dan sekarang saya perlu mengatur JAVA_HOMEvariabel lingkungan.

Saya tidak tahu harus berbuat apa.

Saya mencoba mengikuti beberapa panduan ini dan tidak terlalu jauh.

  1. Mkyong.com: Cara mengatur variabel JAVA_HOME di Mac OSX

  2. YouTube: Cara mengatur variabel lingkungan di mac, linux, solaris, rhel

  3. YouTube: Cara Mengatur Variabel Lingkungan di Mac

Saya dapat menemukan terminal dan saya pikir saya membuat beberapa file. Saya menerima pesan seperti ini:


(1) Program lain mungkin mengedit file yang sama. Jika ini masalahnya, berhati-hatilah agar tidak berakhir dengan dua contoh berbeda dari file yang sama saat membuat perubahan. Berhenti, atau lanjutkan dengan hati-hati.


(2) Sesi edit untuk file ini macet. Jika demikian, gunakan ": recover" atau "vim -r / Pengguna / Firwin /.bash_profile" untuk memulihkan perubahan (lihat ": membantu pemulihan"). Jika Anda sudah melakukannya, hapus file swap "/Users/Erwin/.bash_profile.sw p" untuk menghindari pesan ini.

Adakah yang bisa memberitahu cara mengatur Java di lingkungan Mac OSX langkah demi langkah?

islander_zero
sumber
Duplikat dari: superuser.com/questions/240100/…
Frank V
Kemungkinan rangkap dari apa yang harus saya atur JAVA_HOME di OSX
Pascal
jelaskan secara singkat: stackoverflow.com/a/59151321/5788247
Shomu

Jawaban:

327

Secara harfiah yang harus Anda lakukan adalah:

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

dan restart shell Anda.

Jika Anda memiliki beberapa versi JDK yang terinstal dan Anda menginginkannya menjadi versi tertentu, Anda dapat menggunakan -vflag itu java_homeseperti ini:

echo export "JAVA_HOME=\$(/usr/libexec/java_home -v 1.7)" >> ~/.bash_profile
Adrian Petrescu
sumber
1
Ketika Anda mengatakan "shell," maksud Anda saya menutup jendela terminal dan membukanya kembali? Juga, apakah ini secara permanen menambahkan variabel lingkungan untuk jdk saya?
islander_zero
1
Ya, itulah yang saya maksud. Dan ya, itu akan menambahkan variabel untuk semua shell login untuk pengguna Anda (yaitu, hampir semua keadaan di mana Anda menginginkannya)
Adrian Petrescu
13
Saya pikir daripada me-restart terminal jika Anda melakukannya source ~/.bash_profileakan berhasil, bukan?
Shobhit Puri
2
@ShobhitPuri Yup, itu akan, saya hanya ingin tetap sederhana untuk penanya.
Adrian Petrescu
4
echo export "JAVA_HOME=\$(/usr/libexec/java_home -v 1.7)" >> ~/.bash_profileJika Anda memerlukan versi tertentu. 1,7 dalam hal ini.
sebastian
26

Saya melakukannya dengan meletakkan

export JAVA_HOME=`/usr/libexec/java_home`

(backtics) di .bashrc saya. Lihat komentar saya pada jawaban Adrian.

JohnL4
sumber
15

Di Mac OSX 10.5 atau lebih baru, Apple merekomendasikan untuk mengatur $JAVA_HOME variable to /usr/libexec/java_home, hanya mengekspor $JAVA_HOME in file ~/. bash_profileatau~/.profile .

Buka terminal dan jalankan perintah di bawah ini.

$ vim .bash_profile

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

simpan dan keluar dari editor vim, kemudian jalankan perintah sumber pada .bash_profile

$ source .bash_profile

$ echo $JAVA_HOME

/Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home
Rajesh Samson
sumber
11

Setel variabel lingkungan $ JAVA_HOME pada Mac OSX terbaru atau yang lebih lama.

Unduh & Instal instal JDK

  1. Pertama, instal JDK
  2. Buka terminal periksa versi java

$ java -version

Setel variabel lingkungan JAVA_HOME

  1. Buka file .zprofile

$ open -t .zprofile

Atau buat . file zprofil

$ open -t .zprofile

  1. tulis dalam .zprofile

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

Simpan .zprofile dan tutup file bash & kemudian tulis di terminal untuk bekerja dengan sempurna .

$ source .zprofile

Tes pengaturan di terminal

$ echo $JAVA_HOME  
/Library/Java/JavaVirtualMachines/jdk-13.0.1.jdk/Contents/Home
Shomu
sumber
1
Saya juga punya pertanyaan apa sebenarnya "/ usr / libexec / java_home". Jawaban: medium.com/zendesk-engineering/…
ekar
1
/ usr / libexec / java_home adalah cara termudah untuk mengatur JAVA_HOME di macOS. Anda dapat menggunakan java_home untuk: Temukan semua JDK yang diinstal.
Shomu
7

Dianjurkan untuk memeriksa shell terminal default sebelum menetapkan variabel lingkungan JAVA_HOME , melalui perintah berikut:

$ echo $SHELL
/bin/bash

Jika terminal default Anda adalah / bin / bash (Bash), maka Anda harus menggunakan metode @Adrian Petrescu .

Jika terminal default Anda adalah / bin / zsh (Z Shell), maka Anda harus mengatur variabel lingkungan ini di file ~ / .zshenv dengan konten berikut:

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

Demikian pula, setiap jenis terminal lain yang tidak disebutkan di atas, Anda harus mengatur variabel lingkungan di masing-masing file terminal env.

Jerry Chong
sumber
4

Saya membuatnya bekerja dengan menambahkan ~ ~. Profil. Entah bagaimana setelah memperbarui ke El Capitan beta, itu tidak berhasil meskipun JAVA_HOME didefinisikan dalam .bash_profile.

Jika ada pengguna beta El Capitan, coba tambahkan ke .profile

Senthil Acs
sumber
2
Apa perbedaan antara .profile dan .bash_profile?
IgorGanapolsky
3
Idenya adalah bahwa .profile berjalan untuk semua shell (sh, zsh, apa pun); .bash_profile, hanya untuk shell bash.
JohnL4