Di mana Java Diinstal di Mac OS X?

727

Saya baru saja mengunduh Java 7u17 pada Mac OS 10.7.5 dari sini dan kemudian berhasil menginstalnya. Untuk melakukan pemrograman JNI, saya perlu tahu di mana Java diinstal pada Mac saya.

Saya berpikir bahwa di dalam /Library/Java/JavaVirtualMachines/folder itu, akan ada folder bernama 1.7.0.jdkatau sesuatu, tetapi kemudian saya menemukan bahwa folder itu kosong. Ini dikonfirmasi dengan berjalan ls /Library/Java/JavaVirtualMachines/di Terminal. Saya sudah mencoba mencarinya untuk mencari tahu apakah itu dipasang di tempat lain, tetapi itu tampaknya tidak mengubah apa pun.

Bisakah seseorang tolong beri tahu saya di mana Java diinstal pada Mac saya?

Thunderforge
sumber
12
Untuk menutup pemilih / membuka kembali - pertanyaan ini secara eksplisit bukan di luar topik (pertanyaan tentang alat yang biasa digunakan oleh programmer) . Sayangnya, ia dikalahkan oleh meta .
Rob

Jawaban:

1384

Gunakan /usr/libexec/java_home -v 1.8perintah pada terminal shell untuk mencari tahu di mana direktori home Java 1.8 Anda

Jika Anda hanya ingin mengetahui direktori home versi Java Anda yang terbaru, abaikan versinya. misalnya/usr/libexec/java_home

gerrytan
sumber
Saya sampai pada pertanyaan ini karena saya mendapatkan kesalahan dalam gerhana di mac saya karena saya mendapatkan kesalahan pada baris pertama dari program "import java.util. *." Saya sangat curiga ini karena jalur java tidak diatur dengan benar atau sesuatu (meskipun saya mengaturnya sekali sebelumnya). Saya memasukkan perintah dalam jawaban ini dan saya mendapatkan direktori. Bisakah saya menempelkan direktori itu ke kotak teks di jendela "Konfigurasi folder perpustakaan asli"? Atau apakah direktori ini milik tempat lain?
OKGimmeMoney
47
Ditambahkan export JAVA_HOME=`/usr/libexec/java_home`ke .bash_profile sehingga JAVA_HOME selalu disetel (perhatikan kutu-belakang di sekitar perintah libexec)
Steve Henty
Jika Anda hanya ingin tahu apakah JDK diinstal pada mac Anda, abaikan nomor versi dan jalankan dari terminal: $ echo $ (/ usr / libexec / java_home)
Donato
3
Pada Mac 10.12.3, kita harus /usr/libexec/java_home -- vmenunjukkan versi terbaru java
klion26
117

Anda bisa menggunakan echo $(/usr/libexec/java_home)perintah di terminal Anda untuk mengetahui jalur di mana Java diinstal.

Pavithra Gunasekara
sumber
7
Saya suka solusi ini lebih baik daripada jawaban yang diterima karena tidak tergantung pada versi JVM yang diinstal.
Alexandre Santos
1
Ini tidak menemukan versi java 8 saya diinstal oleh Oracle.
Antoine Lizée
13
Mengapa Anda punya di echo $(...)sana? Tidak hanya /usr/libexec/java_homemelakukan hal yang sama?
Paŭlo Ebermann
1
Jawaban yang diterima tidak berhasil untuk saya tetapi ini berhasil! (Saya biasanya bukan pengguna mac / unix)
Roel
@ PaŭloEbermann Tidak berhasil bagi saya tanpa tanda dolar dan tanda kurung.
Nikola Stojaković
80

Ternyata saya sebenarnya sudah menginstal Java 7 JRE, bukan JDK. Tautan unduhan yang benar ada di sini . Setelah menginstalnya, jdk1.7.0jdkmuncul di direktori JavaVirtualMachines.

Thunderforge
sumber
49
Bagi saya, itu di bawah /Library/Java/JavaVirtualMachines/jdk1.7.0_60.jdk(mengetahui bahwa untuk JDK 1,6 path adalah: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/)
Zakaria
Terima kasih banyak! Saya tidak menyadari bahwa saya telah menginstal JRE secara kebetulan xD
Oliver Ni
1
export JAVA_HOME = $ (/ usr / libexec / java_home) di ~ / .bash_profile
Oleksii Kyslytsyn
34

Jika Anda menginstal JRE saja, sepertinya diletakkan di:

/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
Morrie
sumber
2
Anda tidak harus bergantung pada yang ada ini. Jika Anda membutuhkan JRE, bundel di dalam aplikasi Anda sendiri.
swingler
Mengatur JAVA_HOME dengan jalur yang berisi karakter ruang sangat menantang! Saya tidak berhasil ...
Antoine Rosset
Anda dapat membuat suatu tempat tautan ke direktori ini dan mengatur JAVA_HOME ke tautan itu
Kuba
Di sinilah panel "Preferensi Sistem" Java "tampaknya menginstalnya.
David Avendasora
2
@AntoineRosset, Anda dapat mengaturnya seperti ini:export JAVA_HOME=/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
coda
24

Gunakan fungsi unix find untuk menemukan javas yang diinstal ...

sudo find / -name java
serkan
sumber
19
Anda tidak perlu sudo untuk menjalankan find untuk perintah yang secara umum dapat diakses. Jika Anda tidak ingin melihat pesan kesalahan tentang direktori yang tidak dapat diakses, singkirkan pesan tersebut daripada menggunakan root privat secara tidak perlu. Menggunakan sudo sepanjang waktu adalah kebiasaan buruk. Redirect stderr ke / dev / null, seperti ini: find / -name java 2> / dev / null
Walter Underwood
1
Apa yang harus saya lakukan jika saya perlu mencari di bawah direktori yang tidak dapat diakses?
serkan
2
Maksud Walter adalah bahwa javabiner akan dapat dibaca dunia, oleh karena sudoitu tidak perlu. Jawaban Anda masih berguna :)
Jared Beck
Ya, saya hanya menggunakan ini untuk menemukan src.zip (kode sumber java jdk)
Dinis Cruz
export JAVA_HOME = $ (/ usr / libexec / java_home) di ~ / .bash_profile
Oleksii Kyslytsyn
22

Coba ini, Ini cara mudah untuk menemukan jalur yang diinstal java di Mac OS X,

Pergi ke

1) / Library yaitu Macintosh HD / Library

masukkan deskripsi gambar di sini

2) Klik Library di folder Java yang kita temukan.

masukkan deskripsi gambar di sini

3) Jadi jalan terakhir adalah

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

Semoga ini bisa membantu seseorang.

Jaywant Khedkar
sumber
1
Cukup membantu ketika Anda harus mengarahkan JDK secara eksplisit dari IDE. Terima kasih
Shwetabh Shekhar
Seberapa Padat saya? Terminal saya mengatakan bahwa saya memiliki 2 jdk terinstal di / Library / Java / JavaVirtualMachines / tapi saya tidak dapat menemukan mereka ketika saya menavigasi ke direktori itu di finder ... Bagaimana saya bisa mendapatkan padat ...
SoftwareSavant
@SoftwareSavant, Silakan isi stackoverflow.com/a/14875241 jawab, Mungkin ini bisa membantu Anda.
Jaywant Khedkar
19

Struktur paket Java Mac OS sedikit berbeda dari Windows. Jangan kecewa karena ini hanya perlu ditetapkan PATHdan dikembangkan oleh pengembang JAVA_HOME.

Begitu di .bash_profileatur JAVA_HOMEdan PATHseperti di bawah ini. Contoh ini untuk Java 6:

export JAVA_HOME=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
export PATH=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin:$PATH
Bimales Mandal
sumber
12
Ini menghapus semua hal lain dari jalur? Lakukan ini hanya jika Anda hanya menggunakan Java dan tidak ada yang lain di sistem Anda.
Paŭlo Ebermann
ekspor JAVA_HOME = $ (/ usr / libexec / java_home) di ~ / .bash_profile.
Oleksii Kyslytsyn
17

Jika Anda mengetik

java -verbose 

Ini juga memberikan lokasi dari mana guci dimuat dan karenanya juga jalan java.

jones j alapat
sumber
Saya menambahkan ekspor JAVA_HOME = $ (/ usr / libexec / java_home) di ~ / .bash_profile.
Oleksii Kyslytsyn
8

Diedit: Alias ​​ke versi java saat ini adalah /Library/Java/Home

Untuk informasi lebih lanjut: tautan

manny
sumber
Itu akan menjadi alias untuk versi terbaru, yang akan dengan benar menunjuk ke Java 7 SDK setelah diinstal.
Thunderforge
1
Tautan ini hanya ada untuk tujuan lama, dan tidak akan diperbarui dengan menginstal Java 7. Jangan gunakan jalur ini.
swingler
Saya memperbarui ekspor JAVA_HOME = $ (/ usr / libexec / java_home) di ~ / .bash_profile.
Oleksii Kyslytsyn
8

cukup tulis /Library/Java/JavaVirtualMachines/
di Buka Folder -> Buka Finder

Mina Fawzy
sumber
ok, saya baru saja mencoba ini dan saya berhasil menavigasi ke direktori. Mengapa saya tidak bisa menavigasi ke folder itu secara normal di Finder? Apakah ini hanya Apple yang sangat menjengkelkan ... Juga sangat menjengkelkan, Gradle versi 4.3 tidak bekerja dengan versi Java apa pun kecuali Java 8
SoftwareSavant
export JAVA_HOME = $ (/ usr / libexec / java_home) di ~ / .bash_profile
Oleksii Kyslytsyn
6

Saya baru saja menginstal JDK untuk versi 21 Java SE 7 dan menemukan bahwa itu diinstal di direktori yang berbeda dari Apple 6. Java itu di / Library / Java ... daripada di / System / Library / Java ... Menjalankan / usr / libexec / java_home -v 1.7 versus -v 1.6 akan mengkonfirmasi ini.

Tony Kroch
sumber
export JAVA_HOME = $ (/ usr / libexec / java_home) di ~ / .bash_profile
Oleksii Kyslytsyn
6

Saya mencoba solusi serkan, ia menemukan lokasi java 7 di OS X Mavericks. itu berada di "/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/" tetapi untuk menjadikannya default JDK saya harus mengatur variabel sistem JAVA_HOME di .bash_profile di direktori home untuk "/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/" jadi dan berjalan sekarang berkat ide serkan

Mehdi
sumber
ekspor JAVA_HOME = $ (/ usr / libexec / java_home) di ~ / .bash_profile.
Oleksii Kyslytsyn
5

Untuk:

  • OS X: 10.11.6

  • Jawa: 8

Saya mengkonfirmasi jawaban @Morrie.

   export JAVA_HOME=/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home;

Tetapi jika Anda menjalankan wadah, hidup Anda akan lebih mudah

Abdennour TOUMI
sumber
2
Saya pikir ini seharusnya komentar.
Thunderforge
1
Saya tidak berpikir, karena ada nilai tambah yaitu `export JAVA_HOME =`. ... Bagaimana dengan Anda @Thunderforge
Abdennour TOUMI
ekspor JAVA_HOME = $ (/ usr / libexec / java_home) di ~ / .bash_profile.
Oleksii Kyslytsyn
3

ketik which javaterminal untuk menunjukkan di mana ia diinstal.

Pranay Aryal
sumber
1
Ya, ekspor JAVA_HOME = $ (/ usr / libexec / java_home) di ~ / .bash_profile.
Oleksii Kyslytsyn
-1

System Preferences kemudian Java control panel kemudian Java kemudian View akan menunjukkan lokasi yang tepat dari JRE default yang diinstal saat ini.

PaulNUK
sumber
export JAVA_HOME = $ (/ usr / libexec / java_home) di ~ / .bash_profile
Oleksii Kyslytsyn