Saya ingin melakukan pemrograman dengan JavaFX terbaru, yang membutuhkan Java 8. Saya menggunakan IntelliJ 13 CE dan Mac OS X 9 Mavericks. Saya menjalankan installer Java 8 Oracle, dan file-file tersebut terlihat seperti berakhir di
/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk
tetapi versi sebelumnya di
/System/Library/Java/JavaFrameworks/jdk1.6....
Tidak yakin mengapa pemasang terbaru memasukkan ini /Library
sebagai ganti /System/Library
(atau apa bedanya). Tetapi /usr/libexec/java_home
tidak menemukan 1.8, jadi semua posting yang saya temukan tentang cara mengatur versi java Anda saat ini tidak berfungsi. Saya sudah mencoba menambahkan tautan simbolis agar terlihat seperti 1.8 di /System/Library...
jalurnya, tetapi tidak membantu. /usr/libexec/java_home -V
masih hanya mencantumkan Java 1.6 lama.
Ironisnya, panel kontrol "Java" di bawah System Preferences hanya memperlihatkan Java 1.8!
Mengapa installer Oracle tidak meletakkannya di tempat yang sebenarnya? Dan bagaimana saya bisa mengatasi masalah ini?
sumber
/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/
. Yang sebelumnya adalah di mana versi Java yang disediakan Apple pergi, dan karena Apple tidak menyediakan Java lagi, lokasi instalasinya telah berubah.Jawaban:
Oracle memiliki catatan buruk untuk membuatnya mudah untuk menginstal dan mengkonfigurasi Java, tetapi menggunakan Homebrew , OpenJDK terbaru (Java 14) dapat diinstal dengan:
Untuk banyak kasus penggunaan tergantung pada versi yang lebih lama (biasanya Java 8), proyek AdoptOpenJDK memungkinkan dengan langkah ekstra.
Pengguna Homebrew yang ada dapat mengalami
Error: Cask adoptopenjdk8 exists in multiple taps
karena penyelesaian sebelumnya dengan instruksi yang berbeda. Ini dapat diselesaikan dengan menentukan lokasi dengan sepenuhnyabrew cask install adoptopenjdk/openjdk/adoptopenjdk8
.sumber
brew update
, Anda dapat menggunakanbrew cask
.brew cask install java
di Mac El Capitan saya dan sedang mengunduhjdk-8u112-macosx-x64.dmg
.Error: Cask 'java8' is unavailable: No Cask with this name exists.
brew tap homebrew/cask-versions
dan menggunakanbrew cask install homebrew/cask-versions/adoptopenjdk8
Catatan: Oracle Java 8/9/10 tidak lagi tersedia untuk unduhan publik (perubahan lisensi).
Pertama instal dan perbarui minuman dari Terminal:
BARU pada Juni 2019
Untuk menginstal JDK dari AdoptOpenJDK:
TUA
Java 8:
Java Terbaru:
sumber
brew tap
perintah pada jawaban di atas. Perintah pertama dan ketiga sudah cukup.Error: Cask 'java8' is unavailable: No Cask with this name exists.
$ brew cask install adoptopenjdk8 Error: Cask adoptopenjdk8 exists in multiple taps: caskroom/versions/adoptopenjdk8 adoptopenjdk/openjdk/adoptopenjdk8
. Saya harus menggunakanbrew cask install adoptopenjdk/openjdk/adoptopenjdk8
brew tap homebrew/cask-versions
danbrew cask install adoptopenjdk8
bekerja untuk saya di Hi Sierra 10.13.6Java8 tidak lagi tersedia di homebrew,
brew install java8
tidak akan berfungsi.Sebaliknya, gunakan:
Lihat komitmen ini untuk detail teknis.
Harap dicatat juga Anda mungkin melihat masalah di sekitar
Cask adoptopenjdk8 exists in multiple taps
. Ini adalah masalah yang diketahui, saat ini sedang dikerjakan, yang dapat Anda lihat di sini:https://github.com/AdoptOpenJDK/homebrew-openjdk/issues/106
Bagi mereka yang tidak ingin melihat detailnya, berikut ini ringkasannya:
sumber
AdoptOpenJDK/openjdk
daripada menggunakanhomebrew/cask-versions/adoptopenjdk8
brew cask install homebrew/cask-versions/adoptopenjdk8
bekerja untuk sayaSaya hanya melakukan ini pada MBP saya, dan harus digunakan
untuk mendapatkan java8 untuk menginstal.
sumber
brew tap caskroom/versions
diperlukan sebelum menginstal java8brew install homebrew/cask-versions/java8
untuk menang!Opsi yang mulai saya sukai untuk menjalankan aplikasi di komputer lokal saya adalah menggunakan Docker. Anda cukup menjalankan aplikasi Anda di dalam wadah JDK resmi - artinya Anda tidak perlu khawatir mengatur semuanya di mesin lokal Anda (atau khawatir menjalankan beberapa versi JDK yang berbeda untuk aplikasi yang berbeda, dll)
Meskipun ini mungkin tidak membantu Anda dengan masalah instalasi Anda saat ini, ini adalah solusi yang berarti Anda dapat mengesampingkan ladang ranjau masalah terkait dengan mencoba menjalankan Java dengan benar pada mesin dev Anda!
Manfaatnya adalah:
Contoh yang sangat sederhana:
Buat
Dockerfile
:java:8
- untuk menggunakan Java 7, Anda bisa hanya menentukan:java:7
)/usr/src/myapp
di dalam wadahBuat
docker-compose.yml
file:Sekarang, anggap kita memiliki file Java ini:
HelloWorld.java
Jadi kami memiliki struktur file berikut:
Anda dapat melakukan berbagai hal Java seperti:
menyusun:
Lari:
docker-compose run
- menjalankan perintah dari dalam wadah-rm
memberitahu buruh pelabuhan untuk menghapus wadah setelah perintah selesai berjalanjava
adalah nama dari service / container (dari file docker-compose kami) yang digunakan untuk menjalankan perintah iniIni adalah cara yang cukup keren untuk berurusan dengan menjalankan berbagai versi Java untuk berbagai aplikasi tanpa membuat kekacauan pengaturan lokal Anda :).
Berikut adalah contoh yang sedikit lebih kompleks yang dimiliki Maven dan aplikasi Musim Semi sederhana
Penolakan:
sumber
Asumsi: Mesin Mac dan Anda sudah menginstal homebrew.
Instal tong (dengan Homebrew 0.9.5 atau lebih tinggi, tong disertakan jadi lewati langkah ini):
Untuk menginstal java terbaru:
Untuk menginstal java 8:
Jika Anda ingin menginstal / mengelola beberapa versi maka Anda dapat menggunakan 'jenv':
Instal dan konfigurasikan jenv:
Tambahkan java yang terinstal ke jenv:
Untuk melihat semua java yang diinstal:
Perintah di atas akan memberikan daftar java yang diinstal:
Konfigurasikan versi java yang ingin Anda gunakan:
Untuk mengatur JAVA_HOME:
sumber
Saya mengalami masalah yang sama untuk dipecahkan, karena saya perlu menginstal JDK8 untuk menjalankan Android SDK Manager (karena tampaknya itu tidak berfungsi dengan baik dengan JDK9). Namun, saya memberi tahu Anda cara menyelesaikan semua masalah pada Mac (Sierra).
Pertama, Anda perlu menyeduh dengan tong dan jenv .
brew tap caskroom/versions
brew install jenv
brew cask install java8
(ataujava7
ataujava
jika Anda ingin menginstal versi terbaru, jdk9)jenv versions
untuk membuat daftar semua versi yang diinstal pada mesin Anda dan kemudian mengaktifkan yang Anda inginkan denganjenv global [JDK_NAME_OF_LIST]
Anda dapat menemukan informasi berguna lainnya di sini di Github Gist brew-java-and-jenv.md , di blog ini Instal beberapa JDK di Mac dan di Situs Web Jenv
sumber
sumber
Jika Anda memiliki beberapa versi Java pada mesin Anda dan Anda ingin memilihnya secara dinamis saat runtime, yaitu, dalam kasus saya, saya memiliki dua versi:
Anda dapat mengubahnya dengan memodifikasi
/etc/profile
konten. Cukup tambahkan (atau modifikasi) dua baris berikut di akhir file:Dalam kasus saya, harus seperti berikut ini jika saya ingin menggunakan:
Java 7:
Java 8:
Setelah menyimpan file, silakan jalankan
source /etc/profile
dan itu akan berfungsi. Berikut adalah hasil ketika saya menggunakan opsi pertama dan kedua yang sesuai:Java 7:
Java 8:
Prosesnya serupa jika folder java Anda berada di lokasi yang berbeda.
sumber
alias java8=/Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/Contents/Home/bin/java
?Tampaknya belum ada yang menyebutkan SDK man ( https://sdkman.io/ ).
Pria SKD memungkinkan menginstal beberapa versi Java pada Mac dan beralih dengan mudah di antara versi-versi ini. Informasi lebih lanjut tersedia di https://sdkman.io/usage .
Sebagai contoh:
sumber
Gunakan Pemasang, Luke
Jawaban lain yang menyarankan manajer paket Homebrew tampaknya agak ekstrem bagi saya. Saya yakin Homebrew memiliki kegunaan yang baik. Tetapi untuk menjalankan Java, instal Homebrew adalah langkah ekstra yang tidak perlu. Jika tujuan Anda hanya menjalankan Java, cukup unduh penginstal Mac dari sumber tepercaya.
Anda memiliki banyak sumber untuk mendapatkan aplikasi pemasang yang mudah digunakan untuk meletakkan Java di Mac Anda. Jalankan penginstal di Mac Anda seperti yang Anda lakukan untuk banyak aplikasi lain.
Berikut adalah diagram alir untuk menemukan sumber Java 11, beberapa di antaranya juga menawarkan Java 8.
Unduh penginstal dari vendor seperti AdoptOpenJDK.net.
Jalankan penginstal.
JavaVirtualMachines
folder sekarang benarBukan masalah.
Folder
/Library/Java/JavaVirtualMachines/
adalah rumah baru untuk JVM di macOS .Untuk menginstal JVM, gunakan installer, yang dibahas di bawah ini.
Untuk menghapus instalasi, cukup gunakan Finder untuk menghapus JVM dari folder itu. Anda akan dimintai kata sandi admin sistem untuk menyelesaikan penghapusan.
Java 9 & 10 & 11
Kembali pada tahun 2010, Apple bergabung dengan proyek OpenJDK , bersama dengan Oracle , IBM , Red Hat , Azul , dan vendor Java lainnya. Setiap anggota memberikan kontribusi kode sumber, pengujian, dan umpan balik ke basis kode OpenJDK yang disatukan.
Apple berkontribusi sebagian besar kode spesifik Mac untuk JVM-nya. Sekarang Apple tidak lagi merilis JVM spesifik Mac-nya sendiri. Anda sekarang memiliki pilihan pemasok JVM Anda, dengan build yang berasal dari basis kode OpenJDK.
Anda akan menemukan kode sumber di: http://openjdk.java.net
Rilis irama baru
Ketahuilah bahwa pada tahun 2017, Oracle, JCP, dan OpenJDK telah mengadopsi rencana “kereta rilis” baru yang cepat untuk versi Java yang dijadwalkan secara berkala untuk dikirimkan dengan cara yang dapat diprediksi.
Baca posting blog Azul Systems 2018-07 ini untuk banyak detail, Menghilangkan Java Update Confusion oleh Simon Ritter .
Baca juga Java Is Free .
Vendor
Untuk daftar implementasi JVM lama dan sekarang yang agak lengkap, lihat halaman ini di Wikipedia .
Berikut ini adalah pembahasan beberapa vendor. Lihat diagram alur di atas untuk lebih banyak vendor
Oracle JDK
Oracle menyediakan installer JDK dan JRE untuk berbagai platform termasuk macOS.
Selama bertahun-tahun sejak mengakuisisi Sun, Oracle telah menggabungkan bagian-bagian terbaik dari dua mesin JVM, HotSpot dan JRocket , dan menggabungkannya ke dalam OpenJDK proyek digunakan sebagai dasar untuk implementasi merek Java mereka sendiri.
Rencana bisnis baru mereka, pada 2018, adalah untuk menyediakan implementasi Java bermerek Oracle dengan biaya produksi, dan tanpa biaya untuk digunakan dalam pengembangan / pengujian / demo. Dukungan untuk rilis sebelumnya memerlukan program dukungan berbayar. Mereka telah menyatakan niat mereka untuk rilis merek mereka untuk berada di paritas fitur dengan rilis OpenJDK. Mereka bahkan telah menyumbangkan add-on komersial mereka seperti Flight Recorder ke proyek OpenJDK.
Oracle juga merilis build OpenJDK tanpa dukungan: http://jdk.java.net/
Oracle telah menghasilkan JDK tujuan khusus, GraalVM .
Zulu & Zing oleh Azul
Azul Systems menyediakan berbagai produk JVM.
Zulu
Baris mereka didasarkan langsung pada OpenJDK, dan tersedia tanpa biaya dengan paket dukungan berbayar opsional.Zing
Lini mereka menawarkan produk JVM komersial yang ditingkatkan dengan implementasi teknis alternatif seperti pengumpul sampah khusus .Kedua baris mereka menawarkan installer untuk macOS.
Saat ini saya menggunakan Zulu untuk Java 10.0.1 di macOS High Sierra dengan IntelliJ 2018.2 dan Vaadin 8 . Saya mengunduh dari halaman ini . Omong-omong, saya tidak menemukan item terkait Java yang diinstal pada aplikasi Preferensi Sistem Apple .
AdoptOpenJDK.net
AdoptOpenJDK adalah upaya berbasis komunitas untuk membangun binari dari sumber OpenJDK. Mereka bermaksud menawarkan pembaruan dari waktu ke waktu, seperti yang disumbangkan oleh anggota komunitas.
OpenJ9 oleh Eclipse
Proyek OpenJ9 adalah implementasi lain dari mesin JVM, sebuah alternatif untuk HotSpot .
Sekarang disponsori oleh Eclipse Foundation, dengan teknologi dan dukungan yang disumbangkan oleh IBM pada tahun 2017.
Untuk binari prebuilt, mereka merujuk Anda ke proyek AdoptOpenJDK yang disebutkan di atas.
Bagaimana cara meng-install
Installer yang disediakan oleh Oracle atau oleh Azul keduanya sangat mudah dioperasikan. Jalankan saja aplikasi penginstal di Mac Anda. Sebuah jendela muncul untuk menunjukkan perkembangan instalasi.
Setelah selesai, verifikasi instalasi JVM Anda dengan:
/Library/Java/JavaVirtualMachines/
folder untuk melihat item untuk JVM baru.java -version
untuk melihat nomor merek dan versi JVM Anda.Setelah memverifikasi kesuksesan, turunkan gambar .dmg di Finder. Kemudian buang file .dmg yang Anda unduh.
sumber
Saya memiliki aplikasi yang menggunakan Java 7 dan 8 dan harus bolak-balik sepanjang waktu.
Saya menggunakan skrip ini yang ditulis oleh Johan:
http://www.jayway.com/2014/01/15/how-to-switch-jdk-version-on-mac-os-x-maverick/
Anda sekarang dapat mengaturnya saat startup atau memanggil skrip sesudahnya.
Instal JDK untuk Mac.
Java 7
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
Java 8
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
Rekomendasi yang diperbarui !! :
Gunakan jenv https://www.jenv.be/ dan homebrew.
Lalu yang adil
jenv global oracle6401.6.0.39
dan yang ditetapkan.sumber
~/.bashrc
atau~/.bash_profile
: export JAVA_HOME = "/ usr / libexec / java_home -v 1.8" dan juga menambahkan Anda$JAVA_HOME/bin
ke$PATH
jika installer java belum melakukannya. (CATATAN: ganti tanda kutip ganda dengan backticks untuk / usr / libexec / java_home, tidak dapat memasukkan backticks literal dalam komentar ..)brew tap caskroom/versions
diikuti olehbrew cask install java7
.Jalankan perintah ini di mac High Sierra
dan periksa dengan perintah
sumber
Error: Download failed on Cask 'java8' with message: Download failed: https://download.oracle.com/otn-pub/java/jdk/8u202-b08/1961070e4c9b4e26a04e7f5a083f551e/jdk-8u202-macosx-x64.dmg
Menggunakan minuman
sumber
Cara terbaik adalah dengan menggunakan manajer paket Brew tetapi perintahnya
gagal dengan kesalahan:
Jadi gunakan
Bagaimana saya menemukan "caskroom / versi / java8": menggunakan perintah pencarian brew:
sumber
Jika Anda menggunakannya BUKAN untuk penggunaan pribadi, Anda mungkin ingin menggunakan OpenJDK sebagai gantinya untuk menghindari potensi tuntutan hukum dari Oracle.
sumber
Jika Anda menggunakan Mac, maka Homebrew adalah cara untuk menginstal barang.
Tampaknya versi 8 bukan lagi yang terbaru, jadi tidak tersedia menggunakan default
brew cask install java
.Sebaliknya saya berhasil dengan melakukan hal berikut:
Jika gagal, coba langsung yang berikutnya:
Tes dengan
brew cask list
ataujava -version
sumber
Paling sederhana adalah mengunduh file dmg dari situs berikut dan instal dengan klik dua kali
cari JVM yang tersedia dari direktori home
dan perbarui .bash_profile dengan versi yang relevan
dan akhirnya
sumber
Instal dengan Homebrew
Versi Java yang tersedia di Homebrew Cask sebelum 3 Oktober 2018 memang adalah Oracle JVM. Namun sekarang, sekarang telah diperbarui ke OpenJDK. Pastikan untuk memperbarui Homebrew dan kemudian Anda akan melihat versi terbaru yang tersedia untuk diinstal.
1. instal Homebrew jika Anda belum melakukannya. Pastikan itu diperbarui:
2. Tambahkan tap tong, jika Anda belum (atau Anda tidak melihat versi Java yang lebih lama dengan langkah # 3):
3. dan untuk versi AdoptOpenJDK, tambahkan ketuk itu:
Tong-tong ini sering mengubah versi Java mereka, dan mungkin ada keran lain di luar sana dengan versi Java tambahan.
4. Cari versi yang dapat diinstal:
atau untuk versi AdoptOpenJDK:
5. Periksa detail pada versi yang akan diinstal:
atau untuk versi AdoptOpenJDK:
6. Instal versi JDK tertentu seperti java11, adoptopenjdk8, atau hanya java atau adoptopenjdk untuk saat ini. Sebagai contoh:
Anda dapat menggunakan jalur yang sepenuhnya memenuhi syarat untuk versi yang lebih lama juga:
sumber
Anda dapat mencoba ini:
sumber
Cara termudah
PS - Cask adalah ekstensi untuk Homebrew yang dimaksudkan untuk mengelola binari Mac besar dan aplikasi grafis, tetapi menggunakan antarmuka Homebrew. Lihat juga jawaban ini di Apple StackExchange.
sumber
Coba:
brew cask install java 8 ,, ini akan memberikan hasil di bawah ini
8tracksradiohelper adoptopenjdk8 amitv87-pip corretto8 icons8 vmware-fusion8 x48 zulu8
Selanjutnya masukkan: brew cask install adoptopenjdk8 ---- java 8 akan diinstal di Mac.
sumber
Saya akan menyarankan menggunakan manusia SDK yang cukup mudah untuk mengubah Versi (sementara dan permanen) dan menyediakan SDK lain juga. Saya telah menggunakan pria SDK selama lebih dari satu tahun sekarang.
https://sdkman.io/
sumber
Untuk pengguna Intellij IDEA versi terbaru, ada opsi untuk mengunduh JDK langsung dari IDE: https://www.jetbrains.com/help/idea/sdk.html#jdk-from-ide
sumber
Pada 3 Mei 2020, situs ini memiliki tautan unduhan untuk jre8u251: https://java.com/en/download/mac_download.jsp
sumber
Langkah-langkah di bawah ini berhasil untuk saya.
1) Copot semua jdks
Di jendela Terminal Salin dan tempel perintah di bawah ini:
2) Instal APPLE jdk.
https://support.apple.com/kb/DL1572?locale=en_US
3) Unduh JDK terbaru dari Oracle dan instal, bagi saya itu adalah JDK 1.82
http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html
Itu semua akan bekerja seperti pesona.
sumber