Catatan: Solusi ini berfungsi untuk berbagai versi Java termasuk Java 8 dan Java 13 baru, dan untuk versi Java sebelumnya lainnya yang dicakup oleh manajer versi yang terdaftar. Ini termasuk JDK alternatif dari OpenJDK, Oracle, IBM, Azul, Amazon Correto, Graal dan banyak lagi. Mudah bekerja dengan Java 7, Java 8, Java 9, Java 10, Java 11, Java 12, dan Java 13!
Anda memiliki beberapa opsi tentang cara melakukan instalasi serta mengelola peralihan JDK. Instalasi dapat dilakukan oleh Homebrew, SDKMAN , Jabba , atau instalasi manual. Perpindahan dapat dilakukan oleh JEnv , SDKMAN , Jabba , atau secara manual dengan pengaturan JAVA_HOME
. Semua ini dijelaskan di bawah ini.
Instalasi
Pertama, instal Java menggunakan metode apa pun yang Anda sukai termasuk Homebrew, SDKMAN atau instalasi manual file tar.gz. Kelebihan dari instalasi manual adalah bahwa lokasi JDK dapat ditempatkan di lokasi standar untuk Mac OSX.
Instal dengan SDKMAN
Ini adalah model sederhana karena menangani instalasi dan versi switching, dengan peringatan bahwa itu menginstal JDK ke direktori non-standar.
< lihat di bawah "Memasang dan Mengganti versi dengan SDKMAN" >
Instal menggunakan Jabba
Ini juga merupakan model sederhana karena instalasi dan perpindahan versi ditangani oleh alat yang sama. Instalasi dibuat ke direktori non-standar.
< lihat di bawah "Memasang dan Mengganti versi dengan Jabba" >
Instal secara manual dari halaman unduhan OpenJDK:
Unduh OpenJDK untuk Mac OSX dari http://jdk.java.net/ (misalnya Java 13 )
Batalkan arsip tar OpenJDK, dan tempatkan folder yang dihasilkan (yaitu jdk-13.jdk
) ke /Library/Java/JavaVirtualMachines/
folder Anda karena ini adalah lokasi standar dan yang diharapkan dari instalasi JDK. Anda juga dapat menginstal di mana saja yang Anda inginkan dalam kenyataan.
Instal dengan Homebrew
Versi Java yang tersedia di Homebrew Cask sebelum 3 Oktober 2018 adalah memang Oracle JVM. Namun sekarang, sekarang telah diperbarui ke OpenJDK. Pastikan untuk memperbarui Homebrew dan kemudian Anda akan melihat versi terbaru yang tersedia untuk diinstal.
instal Homebrew jika Anda belum melakukannya. Pastikan itu diperbarui:
brew update
Tambahkan tong tong, jika Anda belum melakukannya (atau Anda tidak melihat versi Java yang lebih lama dengan langkah # 3):
brew tap homebrew/cask-versions
dan untuk versi AdoptOpenJDK , tambahkan keran itu:
brew tap adoptopenjdk/openjdk
Tong-tong ini sering mengubah versi Java mereka, dan mungkin ada keran lain di luar sana dengan versi Java tambahan.
Cari versi yang dapat diinstal:
brew search java
atau untuk versi AdoptOpenJDK:
brew search jdk
Periksa detail pada versi yang akan diinstal:
brew cask info java
atau untuk versi AdoptOpenJDK:
brew cask info adoptopenjdk
Menginstal versi tertentu dari JDK seperti java11
, adoptopenjdk8
, atau hanya java
atau adoptopenjdk
untuk saat ini. Sebagai contoh:
brew cask install java
Anda dapat menggunakan jalur yang sepenuhnya memenuhi syarat untuk versi yang lebih lama juga:
brew cask install homebrew/cask-versions/java11
Dan ini akan diinstal ke /Library/Java/JavaVirtualMachines/
yang merupakan lokasi tradisional yang diharapkan pada Mac OSX.
Opsi instalasi lainnya:
Beberapa rasa openJDK lainnya adalah:
Sistem Azul Java Bangunan bersertifikat Zulu dari OpenJDK dapat diinstal dengan mengikuti instruksi di situs mereka .
Zulu® adalah bangunan bersertifikasi OpenJDK yang sepenuhnya sesuai dengan standar Java SE. Zulu adalah sumber terbuka 100% dan dapat diunduh secara bebas. Sekarang pengembang Java, administrator sistem, dan pengguna akhir dapat menikmati manfaat penuh Java open source dengan fleksibilitas penggunaan dan kontrol atas waktu pemutakhiran.
Amazon Correto OpenJDK builds memiliki mudah menggunakan paket instalasi untuk versi 8 atau versi 11 (versi lain akan datang), dan menginstal ke/Library/Java/JavaVirtualMachines/
direktoristandarpada Mac OSX.
Amazon Corretto adalah distribusi Open Java Development Kit (OpenJDK) tanpa biaya, multi platform, dan siap produksi. Corretto hadir dengan dukungan jangka panjang yang akan mencakup peningkatan kinerja dan perbaikan keamanan. Amazon menjalankan Corretto secara internal pada ribuan layanan produksi dan Corretto disertifikasi sebagai kompatibel dengan standar Java SE. Dengan Corretto, Anda dapat mengembangkan dan menjalankan aplikasi Java pada sistem operasi populer, termasuk Linux, Windows, dan macOS.
Di mana JDK saya?!?!
Untuk menemukan lokasi Java JDK yang sebelumnya diinstal terinstal di lokasi sistem default, gunakan:
/usr/libexec/java_home -V
Mesin Virtual Java Yang Cocok (6):
13, x86_64: "OpenJDK 13" /Library/Java/JavaVirtualMachines/openjdk-13.jdk/Contents/Home 12, x86_64: "OpenJDK 12" / Library / Java / JavaVirtualMachines / jdk-12 .jdk / Contents / Beranda
11, x86_64: "Java SE 11" /Library/Java/JavaVirtualMachines/jdk-11.jdk/Contents/Home
10.0.2, x86_64: "Java SE 10.0.2" / Library / Java / JavaVirtualMachines /jdk-10.0.2.jdk/Contents/Home
9, x86_64: "Java SE 9"
/Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home 1.8.0_144, x86_64: "Java SE 8" / Library /Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home
Anda juga dapat melaporkan hanya lokasi versi Java tertentu menggunakan -v
. Misalnya untuk Java 13:
/usr/libexec/java_home -v 13
/Library/Java/JavaVirtualMachines/jdk-13.jdk/Contents/Home
Mengetahui lokasi JDK yang terinstal juga berguna saat menggunakan alat seperti JEnv, atau menambahkan instalasi lokal ke SDKMAN, atau menghubungkan sistem JDK di Jabba - dan Anda perlu tahu di mana menemukannya.
Jika Anda perlu menemukan JDK diinstal oleh alat lain, periksa lokasi ini:
- SDKMAN dipasang ke
~/.sdkman/candidates/java/
- Jabba diinstal ke
~/.jabba/jdk
Berpindah versi secara manual
Java executable adalah pembungkus yang akan menggunakan apa pun yang dikonfigurasikan oleh JDK JAVA_HOME
, sehingga Anda dapat mengubahnya agar juga mengubah JDK mana yang sedang digunakan.
Sebagai contoh, jika Anda menginstal atau JDK 13 yang belum diarsipkan ke /Library/Java/JavaVirtualMachines/jdk-13.jdk
jika itu adalah nomor versi tertinggi itu harus sudah menjadi default, jika tidak Anda bisa dengan mudah mengatur:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-13.jdk/Contents/Home
Dan sekarang apa pun Java executable di jalan akan melihat ini dan menggunakan JDK yang benar.
Menggunakan /usr/libexec/java_home
utilitas seperti yang dijelaskan sebelumnya membantu Anda membuat alias atau menjalankan perintah untuk mengubah versi Java dengan mengidentifikasi lokasi instalasi JDK yang berbeda. Misalnya, membuat alias shell di Anda .profile
atau .bash_profile
mengubahnya JAVA_HOME
untuk Anda:
export JAVA_8_HOME=$(/usr/libexec/java_home -v1.8)
export JAVA_9_HOME=$(/usr/libexec/java_home -v9)
export JAVA_10_HOME=$(/usr/libexec/java_home -v10)
export JAVA_11_HOME=$(/usr/libexec/java_home -v11)
export JAVA_12_HOME=$(/usr/libexec/java_home -v12)
export JAVA_13_HOME=$(/usr/libexec/java_home -v13)
alias java8='export JAVA_HOME=$JAVA_8_HOME'
alias java9='export JAVA_HOME=$JAVA_9_HOME'
alias java10='export JAVA_HOME=$JAVA_10_HOME'
alias java11='export JAVA_HOME=$JAVA_11_HOME'
alias java12='export JAVA_HOME=$JAVA_12_HOME'
alias java13='export JAVA_HOME=$JAVA_13_HOME'
# default to Java 13
java13
Kemudian untuk mengubah versi, cukup gunakan alias.
java8
java -version
versi java "1.8.0_144"
Tentu saja, pengaturan JAVA_HOME
secara manual juga berfungsi!
Berpindah versi dengan JEnv
JEnv mengharapkan Java JDK sudah ada di mesin dan bisa berada di lokasi mana pun. Biasanya Anda akan menemukan Java JDK terpasang di/Library/Java/JavaVirtualMachines/
. JEnv memungkinkan pengaturan versi global Java, satu untuk shell saat ini, dan versi lokal per-direktori yang berguna ketika beberapa proyek memerlukan versi yang berbeda dari yang lain.
Instal JEnv jika Anda belum melakukannya, petunjuk di situs http://www.jenv.be/ untuk menginstal secara manual atau menggunakan Homebrew.
Tambahkan versi Java apa pun ke JEnv ( sesuaikan direktori jika Anda menempatkannya di tempat lain ):
jenv add /Library/Java/JavaVirtualMachines/jdk-13.jdk/Contents/Home
Setel versi global Anda menggunakan perintah ini:
jenv global 13
Anda juga dapat menambahkan versi lain yang ada menggunakan jenv add
dengan cara yang sama, dan daftar yang tersedia. Misalnya Java 8:
jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home
jenv versions
Lihat JEnv docs untuk perintah lebih lanjut. Anda sekarang dapat beralih di antara versi Java (Oracle, OpenJDK, lainnya) kapan saja baik untuk keseluruhan sistem, untuk shell, atau per direktori lokal.
Untuk membantu mengelola JAVA_HOME
saat menggunakan JEnv Anda dapat menambahkan plugin ekspor untuk melakukan ini untuk Anda.
$ jenv enable-plugin export
You may restart your session to activate jenv export plugin echo export plugin activated
Plugin ekspor mungkin tidak menyesuaikan JAVA_HOME
jika sudah disetel, jadi Anda mungkin perlu menghapus variabel ini di profil Anda sehingga dapat dikelola oleh JEnv.
Anda juga dapat menggunakan jenv exec <command> <parms...>
untuk menjalankan perintah tunggal dengan JAVA_HOME
dan PATH
mengatur dengan benar untuk satu perintah itu, yang dapat mencakup membuka shell lain.
Menginstal dan Mengganti versi dengan SDKMAN
SDKMAN sedikit berbeda dan menangani instalasi dan switching. SDKMAN juga menempatkan JDK yang terinstal ke dalam pohon direktori sendiri, yang biasanya~/.sdkman/candidates/java
. SDKMAN memungkinkan pengaturan versi default global, dan versi khusus untuk shell saat ini.
Instal SDKMAN dari https://sdkman.io/install
Daftar versi Java yang tersedia untuk memastikan Anda tahu ID versi
sdk list java
Instal salah satu versi tersebut, misalnya, Java 13:
sdk install java 13.0.0-open
Jadikan 13 versi default:
sdk default java 13.0.0-open
Atau beralih ke 13 untuk sesi:
sdk use java 13.0.0-open
Ketika Anda mendaftar versi yang tersedia untuk instalasi menggunakan perintah daftar, Anda akan melihat berbagai distribusi Java:
sdk list java
Dan instal versi tambahan, seperti JDK 8:
sdk install java 8.0.181-oracle
SDKMAN dapat bekerja dengan versi yang sudah diinstal sebelumnya. Lakukan saja pemasangan lokal yang memberikan label versi Anda sendiri dan lokasi JDK:
sdk install java my-local-13 /Library/Java/JavaVirtualMachines/jdk-13.jdk/Contents/Home
Dan gunakan dengan bebas:
sdk use java my-local-13
Informasi lebih lanjut tersedia di Panduan Penggunaan SDKMAN bersama dengan SDK lain yang dapat diinstal dan dikelola.
SDKMAN akan secara otomatis mengelola Anda PATH
dan JAVA_HOME
untuk Anda ketika Anda mengubah versi.
Menginstal dan Berpindah versi dengan Jabba
Jabba juga menangani instalasi dan switching. Jabba juga menempatkan JDK yang terinstal ke dalam pohon direktori sendiri, yang biasanya~/.jabba/jdk
.
Instal Jabba dengan mengikuti instruksi di halaman rumah .
Daftar JDK yang tersedia
jabba ls-remote
Instal Java JDK 12
jabba install openjdk@1.12.0
Gunakan:
jabba use openjdk@1.12.0
Anda juga dapat alias nama versi, tautan ke JDK yang sudah terpasang, dan menemukan campuran JDK yang menarik seperti GraalVM, Adopt JDK, IBM JDK, dan banyak lagi. Panduan penggunaan lengkap juga tersedia di halaman beranda.
Jabba akan secara otomatis mengelola Anda PATH
dan JAVA_HOME
untuk Anda ketika Anda mengubah versi.