Bagaimana cara menginstal JDK tertentu pada Mac OS X?

197

Saya ingin menginstal JDK tertentu (yang terbaru misalnya). Untuk ini, saya pergi ke beranda unduhan JDK: http://java.sun.com/javase/downloads/index.jsp . Saya mencari versi Mac, tapi saya agak terkejut hanya melihat versi yang dapat diunduh untuk Linux, Windows dan Solaris ...

Ini pesan untuk Mac:

"Apple Computer menyediakan versi Java mereka sendiri. Gunakan fitur Pembaruan Perangkat Lunak (tersedia pada menu Apple) untuk memeriksa apakah Anda memiliki versi Java yang paling mutakhir untuk Mac Anda."

OK TAPI ... ketika saya memperbarui Java dengan Mac, saya memiliki JRE dan bukan JDK ...

Saya tidak mengerti mengapa versi JDK tidak ada yang mudah diunduh / diinstal (seperti toples untuk unzip?) Untuk Mac ...

ajeanson
sumber
70
Pertanyaan terkenal ... Anda harus menerima jawaban. ;)
gary
Fink memberikan solusi untuk ini.
Daniel
10
Perhatikan bahwa Java 7 sekarang dipasok oleh Oracle - sebagian besar jawaban dan pertanyaan merujuk ke keadaan sebelumnya
mmmmmm
Lihat juga: Dapatkan Java 11 untuk macOS?
Basil Bourque

Jawaban:

44

Dalam komentar di bawah jawaban @ Thilo, @mobibob bertanya bagaimana cara mengatur JAVA_HOME di .bash_profile Anda di Mac. Menjawab:

export JAVA_HOME=`/usr/libexec/java_home` 

Ini secara dinamis akan menetapkan untuk JAVA_HOME lokasi JDK pertama yang tercantum dalam tab "Umum" pada utilitas "Preferensi Java".

Lihat Tanya Jawab Teknis Apple 1170: https://developer.apple.com/library/content/qa/qa1170/_index.html

EDIT:

Jika Anda lebih suka tanda kurung daripada backticks untuk substitusi perintah, ini juga berfungsi:

export JAVA_HOME=$(/usr/libexec/java_home)
Mark Tye
sumber
20

Seperti yang tertulis dalam pesan, Anda harus pergi ke Apple, bukan Sun, untuk Java di Mac. Sejauh yang saya tahu, Apple JDK 6 diinstal secara default pada Mac OS X 10.6 (Snow Leopard). Mungkin Anda perlu menginstal alat pengembang dari DVD instalasi Mac OS X Anda (alat dev adalah instalasi opsional dari DVD OS).

Lihat: http://developer.apple.com/java/

CATATAN Jawaban dari 16 Oktober 2009 ini sudah usang; Anda bisa mendapatkan JDK untuk Mac OS X dari halaman unduhan JDK reguler di situs web Oracle sekarang.

Jesper
sumber
10

Untuk orang yang menggunakan LION OS X 10.7.X

Mereka mengunggah Java SE 6 versi 1.6.0_26 tersedia di sini

http://support.apple.com/kb/dl1421

Roy Calderon
sumber
3
Aaand, mereka menggantinya dengan _29, yang memiliki bug MS SQL. Bagus. :(
Carighan
10

Saya membeli MacBook Pro kemarin ( Mac OS X v10.8 (Mountain Lion)) dan tidak ada JDK yang diinstal secara default ...

Selain javac, saya juga menemukan itu tidak memiliki paket seperti SVN diinstal. Ternyata Anda bisa mendapatkan semuanya dari halaman pengembang Apple (Anda harus mendaftar dengan AppleID Anda). SVN adalah bagian dari paket "Command Line Tools".

Masukkan deskripsi gambar di sini

Inilah yang terjadi pada MacBook baru:

Masukkan deskripsi gambar di sini

Masukkan deskripsi gambar di sini

Semoga ini akan membantu pemula lain seperti saya;)

Matt terbakar
sumber
5
+1. Situasi telah sedikit berubah dengan Mountain Lion. Juga perhatikan bahwa sementara Apple menawarkan instalasi Java opsional, itu hanya Java yang lebih lama 6. Versi Java yang sekarang untuk OS X sekarang didistribusikan oleh Oracle sendiri.
Thilo
4

Penjelasannya adalah bahwa JDK sedikit spesifik dan tidak mengandung alat library.jar . Untuk pengembangan saya, saya perlu perpustakaan ini dan Mac's JDK tidak menyediakannya:

(Lih. Http://developer.apple.com/mac/library/documentation/Java/Conceptual/Java14Development/02-JavaDevTools/JavaDevTools.html )

tools.jar tidak ada. Kelas-kelas yang biasanya terletak di sini malah dimasukkan ke dalam class.jar. Script yang mengandalkan keberadaan tools.jar perlu ditulis ulang sesuai.

Menyebalkan sekali!

ajeanson
sumber
1
Ahhhhhhh !!! Seperti yang Anda temukan, tools.jarsudah termasuk dalam runtime untuk Mac OS X. Jadi mencari tools.jarbukan pendekatan yang tepat pada Mac untuk mengetahui apakah itu adalah JDK atau JRE :)
Pascal Thivent
Terima kasih atas tanggapan Anda, Anda benar. Kebutuhan saya adalah untuk mendapatkan tools.jar lib untuk proyek tertentu dan bagi saya itu adalah pendekatan untuk mengenali jdk;)
ajeanson
4

Cara termudah adalah dengan menggunakan Homebrew . Instal Homebrew lalu:

brew tap caskroom/versions
brew cask install java7

Anda dapat mendaftar semua versi yang tersedia menggunakan perintah berikut: brew cask search java

solomkinmv
sumber
3

Kompilasi dengan -source 1.5 -target 1.5 (dalam lingkungan JDK 6) hanya akan menghormati elemen bahasa yang ada di 1.5 dan sebelumnya. Bagus. Tapi tidak ada perubahan bahasa di 6 pula. Masalah dengan pendekatan ini (pada Mac dengan 1.6) adalah bahwa menggunakan kelas yang datang SETELAH 1.5 masih akan mengkompilasi karena mereka ada di rt.jar. Jadi seseorang dapat menjalankan dalam env 1,5 dan mendapatkan kelas tidak ditemukan pengecualian tanpa peringatan sebelumnya saat kompilasi. Saya menemukan ini dengan cara yang sulit dengan javax.swing.event.RowSorterEvent / Listener. Keduanya masuk "Sejak 1.6" tetapi tidak tertangkap dengan -sumber 1.5

Evan
sumber
3

Jika Anda menginstal minuman, cmd di bawah ini akan sangat membantu:

pembuatan tong, instal java

Membosankan
sumber
Buatan? Apakah maksud Anda Homebrew ?
Peter Mortensen
3

Pada Mac OS X v10.6 (Snow Leopard), Anda dapat menjalankan Java 6 dalam mode 32-bit pada Intel 32-bit atau 64-bit baik pada Mac yang dilengkapi prosesor .

Jika Anda tidak dapat memutakhirkan ke Snow Leopard, Soy Latte adalah versi Java 6 yang telah dikompilasi untuk Intel 32-bit.

Brian M. Carr
sumber
1

Saya pikir pertanyaan Stack Overflow ini dapat membantu:

Cara mendapatkan JDK 1.5 di Mac OS X

Pada dasarnya dikatakan bahwa jika Anda perlu mengkompilasi atau menjalankan aplikasi Java dengan versi JDK yang lebih lama (misalnya 1.4 atau 1.5), Anda dapat melakukannya dengan menggunakan 1.6 karena itu kompatibel ke belakang. Untuk melakukannya, Anda perlu menambahkan parameter -source 1.5dan / atau -target 1.5dalam opsi javac atau di IDE Anda.

Fgblanch
sumber
1

JDK adalah Java Development Kit (digunakan untuk mengembangkan perangkat lunak Java).

JRE adalah Java Runtime Environment (digunakan untuk menjalankan file .jar 'Java software').

JDK berisi JRE di dalamnya.

Pada Windows ketika Anda memperbarui Java, itu memperbarui JRE secara otomatis.

Di Mac Anda tidak memiliki JRE yang terpisah, Anda memilikinya, tetapi di dalam JDK, jadi ketika Anda memperbarui Java, ia akan memperbarui JRE Anda yang ada di dalam JDK Anda; itu tidak menginstal JDK untuk Anda. Anda harus mendapatkannya dari tempat lain.

Peter Mortensen
sumber
1
Saya pikir Anda maksud JDK bukan IDK. Saya mencoba mengedit tetapi Stack Overflow mengatakan pengeditan harus lebih dari 6 karakter. Sebut saja untuk menghindari kebingungan.
webworm
1

Periksa alat yang luar biasa ini sdkman untuk mengelola jdk Anda dan alat-alat jdk terkait lainnya dengan sangat mudah!

misalnya

$sdk list java
$sdk install java <VERSION>
Rishikesh Darandale
sumber
1

Karena sebagian besar jawaban sudah ketinggalan zaman, inilah yang berfungsi pada akhir 2018 dengan asumsi itu

  1. Anda ingin menginstal versi GPL dari OpenJDK. [0]
  2. Anda tidak ingin menginstal Homebrew

Dalam hal itu, ambil versi yang diinginkan dari salah satu dari banyak edisi OpenJDK yang tersedia dan dapat digunakan secara bebas, misalnya:

Beberapa di antaranya termasuk installer, tetapi jika tidak, Anda dapat melakukan hal berikut. Dengan asumsi di sini versi 11.0.1 untuk Mac. Di shell favorit Anda, jalankan:

tar -xzf openjdk-11.0.1_osx-x64_bin.tar.gz
sudo mv jdk-11.0.1.jdk /Library/Java/JavaVirtualMachines
# Fix owner and group
sudo chown -R root:wheel /Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk
# (Optional) Check if the new JDK can be found
/usr/libexec/java_home
=> /Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home

[0] Perhatikan bahwa JDK bermerek Oracle memiliki batasan lisensi yang signifikan yang memungkinkan Anda menggunakannya hanya untuk pengujian, yaitu, bukan untuk produksi. Jika Anda tidak memiliki perjanjian dukungan dengan Oracle, maka tampaknya berisiko bagi saya untuk menggunakan JDK mereka, terutama karena perbedaan pada OpenJDK sangat minim. .

Edit: menambahkan lebih banyak pilihan

LCC
sumber
1
Saya sarankan Anda menunjukkan pengunduhan dari AdoptOpenJDK.net , dan kemudian ikuti instruksi Anda, sehingga menghindari masalah hukum & dukungan dari rilis Oracle.
Basil Bourque
0

Sebagai aturan Anda tidak dapat menginstal versi Java lainnya pada Mac daripada yang disediakan oleh Apple melalui Pembaruan Perangkat Lunak. Jika Anda memerlukan Java 6, Anda harus memiliki komputer Intel 64-bit. Anda harus selalu menginstal Java 5 dan 1.4 dan mungkin 1.3 jika Anda memiliki setidaknya OS X 10.4.

Jika Anda memiliki banyak minyak siku SANGAT dan bersedia bekerja dengan perangkat lunak beta, Anda dapat menginstal OpenJDK di OS X, tetapi saya tidak berpikir Anda ingin pergi ke sana.

Thorbjørn Ravn Andersen
sumber
Saya tahu, itu sebabnya saya menambahkan komentar itu. Mungkin seharusnya menulis komentar yang sedikit lebih panjang dengan tautan :-)
Neeme Praks