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?


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


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.


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.


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

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

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.


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

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.


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


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


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.


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


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


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


-1

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


export JAVA_HOME = $ (/ usr / libexec / java_home) di ~ / .bash_profile
Oleksii Kyslytsyn
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.