Cara menginstal Java 8 di Mac


996

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 /Librarysebagai ganti /System/Library(atau apa bedanya). Tetapi /usr/libexec/java_hometidak 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 -Vmasih 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?


8
Itu "benar-benar pergi" di mana ia berakhir - /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.
awksp

Jawaban:


1889

Oracle memiliki catatan buruk untuk membuatnya mudah untuk menginstal dan mengkonfigurasi Java, tetapi menggunakan Homebrew , OpenJDK terbaru (Java 14) dapat diinstal dengan:

brew cask install java

Untuk banyak kasus penggunaan tergantung pada versi yang lebih lama (biasanya Java 8), proyek AdoptOpenJDK memungkinkan dengan langkah ekstra.

brew tap adoptopenjdk/openjdk
brew cask install adoptopenjdk8

Pengguna Homebrew yang ada dapat mengalami Error: Cask adoptopenjdk8 exists in multiple tapskarena penyelesaian sebelumnya dengan instruksi yang berbeda. Ini dapat diselesaikan dengan menentukan lokasi dengan sepenuhnya brew cask install adoptopenjdk/openjdk/adoptopenjdk8.


89
Pada Desember 2015, sekarang tidak perlu menginstal tong secara manual karena sekarang merupakan bagian dari instalasi homebrew. Jadi setelah memperbarui homebrew via brew update, Anda dapat menggunakan brew cask.
davetw12

63
Terima kasih, sungguh menakjubkan betapa mengerikannya proses instalasi Java menggunakan tautan / dokumen "resmi".
enderland

15
@tandrewnichols Saya baru saja berlari brew cask install javadi Mac El Capitan saya dan sedang mengunduh jdk-8u112-macosx-x64.dmg.
Calrion

44
Error: Cask 'java8' is unavailable: No Cask with this name exists.
Elderry

87
Solusi untuk saat ini adalah untuk brew tap homebrew/cask-versionsdan menggunakanbrew cask install homebrew/cask-versions/adoptopenjdk8
Sean Breckenridge

736

Catatan: Oracle Java 8/9/10 tidak lagi tersedia untuk unduhan publik (perubahan lisensi).

Pertama instal dan perbarui minuman dari Terminal:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

brew tap homebrew/cask-versions

brew update

BARU pada Juni 2019

Untuk menginstal JDK dari AdoptOpenJDK:

brew tap adoptopenjdk/openjdk

brew cask install adoptopenjdk8
brew cask install adoptopenjdk9
brew cask install adoptopenjdk10
brew cask install adoptopenjdk11

TUA

Java 8:

brew cask install java8

Java Terbaru:

brew cask install java

3
Menarik untuk dicatat bahwa ini tidak berfungsi untuk saya di Mavericks, jadi itu tidak menjawab pertanyaan OP, tetapi berhasil bagi saya di Kapten, jadi itu berguna sebagai jawaban ..
Tommy

3
Saya menginstal homebrew segar pada mesin OS X El Capitan baru dan tidak harus menjalankan brew tapperintah pada jawaban di atas. Perintah pertama dan ketiga sudah cukup.
Adil Hussain

14
Error: Cask 'java8' is unavailable: No Cask with this name exists.
user924

4
$ 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
roottraveller

5
brew tap homebrew/cask-versionsdan brew cask install adoptopenjdk8bekerja untuk saya di Hi Sierra 10.13.6
xjlin0

135

Java8 tidak lagi tersedia di homebrew, brew install java8tidak akan berfungsi.

Sebaliknya, gunakan:

brew cask install adoptopenjdk/openjdk/adoptopenjdk8

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:

# To install JDK8
brew cask install adoptopenjdk/openjdk/adoptopenjdk8

# To be able to safely run 'brew cleanup'
brew untap adoptopenjdk/openjdk
brew untap caskroom/versions
brew cleanup

2
Apakah ada perbedaan dalam menggunakan AdoptOpenJDK/openjdkdaripada menggunakanhomebrew/cask-versions/adoptopenjdk8
Sean Breckenridge

Saya mendapatkan yang berikut ketika saya mencoba jawaban Anda: Tong adoptopenjdk8 ada di beberapa keran: caskroom / versi / adoptopenjdk8 adoptopenjdk / openjdk / adoptopenjdk8
Koray Tugay

@ KorayTugay Saya telah memperbarui jawabannya, ini akan menyelesaikan masalah Anda!
Dave Kerr

1
@SeanBreckenridge - tim HomeBrew sedang mengerjakannya, saat ini sepertinya AdoptOpenJDK akan digunakan, tetapi masih ada beberapa ketidakpastian, lihat masalah yang sedang terbuka github.com/AdoptOpenJDK/homebrew-openjdk/issues/106 untuk detail!
Dave Kerr

1
brew cask install homebrew/cask-versions/adoptopenjdk8bekerja untuk saya
protoEvangelion

123

Saya hanya melakukan ini pada MBP saya, dan harus digunakan

$ brew tap caskroom/versions
$ brew cask install java8

untuk mendapatkan java8 untuk menginstal.


9
Ini membantu saya dengan menginstal versi java tertentu. Sekarang ketika java 9 keluar, menjalankan "brew cask install java" menginstal java 9. "brew cask install java8" tidak berfungsi untuk saya sampai saya menjalankan "brew tap caskroom / versi".
interupsi

6
Ya, brew tap caskroom/versionsdiperlukan sebelum menginstal java8
hendrix

11
atau hanya brew install homebrew/cask-versions/java8untuk menang!
Naruto Sempai

4
Tidak mungkin menginstal Java8 menggunakan Brew lagi karena perubahan lisensi Oracle. Java8 tidak tersedia untuk unduhan publik lagi.
Marcelo Xavier

2
Lihat stackoverflow.com/a/55775566/9306378 jika Anda masih ingin menggunakan java8. Perhatikan bahwa ini menggunakan OpenJDK.
Polpetta

62

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:

  1. Tidak perlu mengatur versi Java apa pun di mesin lokal Anda (Anda hanya akan menjalankan Java di dalam wadah yang Anda tarik dari Docker Hub)
  2. Sangat mudah untuk beralih ke berbagai versi Java hanya dengan mengubah tag pada wadah.
  3. Ketergantungan proyek dipasang di dalam wadah - jadi jika Anda mengacaukan konfigurasi Anda, Anda dapat dengan mudah membatalkannya dan mulai lagi.

Contoh yang sangat sederhana:

Buat Dockerfile:

FROM java:8
COPY . /usr/src/myapp
WORKDIR /usr/src/myapp
  • Di sini kita menentukan wadah Java menjalankan versi 8 dari SDK (java:8 - untuk menggunakan Java 7, Anda bisa hanya menentukan: java:7)
  • Kami memetakan direktori lokal dengan direktori: /usr/src/myapp di dalam wadah

Buat docker-compose.ymlfile:

version: "2"

services:
  java:
    build: .
    volumes:
      - .:/usr/src/myapp

Sekarang, anggap kita memiliki file Java ini:

HelloWorld.java

public class HelloWorld {
    public static void main(String[] args) {        
        System.out.println("Hello, World");
    }
}

Jadi kami memiliki struktur file berikut:

.
|_ Dockerfile
|_ docker-compose.yml
|_ HelloWorld.java

Anda dapat melakukan berbagai hal Java seperti:

menyusun:

docker-compose run --rm java javac HelloWorld.java 
  • Anda harus mencatat bahwa HelloWorld.class muncul di direktori Anda saat ini (ini karena kami telah memetakan direktori saat ini ke lokasi di dalam wadah tempat kode kami ada

Lari:

docker-compose run --rm java java HelloWorld 
  • Catatan: pertama kali Anda menjalankan ini akan mengambil gambar dll. Ini akan memakan waktu cukup lama - ini hanya terjadi pertama kali
  • docker-compose run - menjalankan perintah dari dalam wadah
  • -rm memberitahu buruh pelabuhan untuk menghapus wadah setelah perintah selesai berjalan
  • java adalah nama dari service / container (dari file docker-compose kami) yang digunakan untuk menjalankan perintah ini
  • sisa baris adalah perintah untuk dijalankan di dalam wadah.

Ini 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:


2
Contoh bagus menggunakan Docker, tidak yakin mengapa Anda mendapat downvote sebelumnya.
Andrew

28
Saya membayangkan downvote karena ini tidak menjawab pertanyaan menjalankan Java pada OS X / MacOS. Menjawab "Bagaimana saya melakukan ini pada platform X" dengan "Cukup gunakan VM / shim untuk melakukannya pada platform Y" tidak produktif.
whitfin

terutama untuk pengembangan java asli (misalnya menggunakan SWIG, JNI dan LIBRARY_PATH)
Mizux

56

Asumsi: Mesin Mac dan Anda sudah menginstal homebrew.

Instal tong (dengan Homebrew 0.9.5 atau lebih tinggi, tong disertakan jadi lewati langkah ini):

$ brew tap caskroom/cask
$ brew tap caskroom/versions

Untuk menginstal java terbaru:

$ brew cask install java

Untuk menginstal java 8:

$ brew cask install adoptopenjdk/openjdk/adoptopenjdk8

Jika Anda ingin menginstal / mengelola beberapa versi maka Anda dapat menggunakan 'jenv':

Instal dan konfigurasikan jenv:

$ brew install jenv
$ echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(jenv init -)"' >> ~/.bash_profile
$ source ~/.bash_profile

Tambahkan java yang terinstal ke jenv:

$ jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home
$ jenv add /Library/Java/JavaVirtualMachines/jdk1.11.0_2.jdk/Contents/Home

Untuk melihat semua java yang diinstal:

$ jenv versions

Perintah di atas akan memberikan daftar java yang diinstal:

* system (set by /Users/lyncean/.jenv/version)
1.8
1.8.0.202-ea
oracle64-1.8.0.202-ea

Konfigurasikan versi java yang ingin Anda gunakan:

$ jenv global oracle64-1.6.0.39

Untuk mengatur JAVA_HOME:

$ jenv enable-plugin export

2
Solusi terbaik! Terima kasih!
viktorianer

1
Terima kasih! hanya apa yang saya cari.
csomakk

Terima kasih. Mulai dengan solusi singkat dan langsung dan berlanjut dengan alat lain yang bermanfaat: 'jenv' berguna untuk ditemukan dan hilang dari sebagian besar jawaban lainnya. Membantu pengemasan kode Scala (2.12 / 2.13) pada tahun 2020.
emllnd

Bekerja seperti pesona, buatan tong instal adoptopenjdk / openjdk / adoptopenjdk8
jeadonara

25

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 .

  1. Anda dapat menemukan panduan yang bermanfaat di sini, Panduan Instalasi Homebrew Cask . Ingatlah untuk mengetuk 'ruang / versi' yang berjalan di terminal: brew tap caskroom/versions
  2. Setelah itu, instal jenv dengan: brew install jenv
  3. Instal versi apa pun yang Anda inginkan dengan tong brew cask install java8(atau java7atau javajika Anda ingin menginstal versi terbaru, jdk9)
  4. Langkah terakhir adalah mengonfigurasi versi mana yang akan dijalankan (dan biarkan jenv untuk mengelola JAVA_HOME Anda) jenv versionsuntuk 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


jenv cukup mudah dan sangat berguna. Saya punya beberapa proyek yang membutuhkan java 8 dan 11
Nikhil Sahu

20
brew cask install caskroom/versions/java8

18

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:

ls -la /Library/Java/JavaVirtualMachines
drwxr-xr-x  3 root  wheel    96B Nov 16  2014 jdk1.7.0_71.jdk/
drwxr-xr-x  3 root  wheel    96B Mar  1  2015 jdk1.8.0_31.jdk/

Anda dapat mengubahnya dengan memodifikasi /etc/profilekonten. Cukup tambahkan (atau modifikasi) dua baris berikut di akhir file:

export JAVA_HOME=YOUR_JAVA_PATH/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

Dalam kasus saya, harus seperti berikut ini jika saya ingin menggunakan:

Java 7:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

Java 8:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

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 -version
java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b14)

Java 8:

java -version 
java version "1.8.0_31"
Java(TM) SE Runtime Environment (build 1.8.0_31-b13)

Prosesnya serupa jika folder java Anda berada di lokasi yang berbeda.


Mengapa tidak membuat alias untuk versi yang berbeda alias java8=/Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/Contents/Home/bin/java?
cglacet

14

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:

$ sdk list java                                                                                                                                                                                                                       
================================================================================
Available Java Versions
================================================================================
   * 12.ea.20-open
     11.0.1-zulu
 > * 11.0.1-open
     10.0.2-zulu
     10.0.2-open
     9.0.7-zulu
     9.0.4-open
     8.0.192-zulu
     8.0.191-oracle
   + 8.0.181-oracle
     7.0.181-zulu
     1.0.0-rc-10-grl
     1.0.0-rc-9-grl
     1.0.0-rc-8-grl


================================================================================
+ - local version
* - installed
> - currently in use
================================================================================

$ sdk install java 8.0.191-oracle

$ sdk use java 8.0.191-oracle

Using java version 8.0.191-oracle in this shell.                                                                                                                                                                                                      

$ java -version                                                                                                                                                                                                                        
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)

$ sdk use java 11.0.1-open                                           

Using java version 11.0.1-open in this shell.

$ java -version                                                                                                                                                                                                                        openjdk version "11.0.1" 2018-10-16
OpenJDK Runtime Environment 18.9 (build 11.0.1+13)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.1+13, mixed mode)
                                                                                                                                                                                                         ```


13

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.

Flowchart memandu Anda dalam memilih vendor untuk implementasi Java 11

Unduh penginstal dari vendor seperti AdoptOpenJDK.net.

Unduh halaman di AdoptOpenJDK.net

Jalankan penginstal.

tangkapan layar penginstal berjalan

JavaVirtualMachines folder sekarang benar

Mengapa installer Oracle tidak meletakkannya di tempat yang sebenarnya? Dan bagaimana saya bisa mengatasi masalah ini?

Bukan masalah.

Folder /Library/Java/JavaVirtualMachines/adalah rumah baru untuk JVM di macOS .

tangkapan layar folder "/ Library / Java / JavaVirtualMachines /" di Finder

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.

  • ZuluBaris mereka didasarkan langsung pada OpenJDK, dan tersedia tanpa biaya dengan paket dukungan berbayar opsional.
  • ZingLini 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.

Motivasi dalam memilih vendor untuk Java.png


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:

  • Mengunjungi /Library/Java/JavaVirtualMachines/folder untuk melihat item untuk JVM baru.
  • Menjalankan konsol seperti Terminal.app dan ketik java -versionuntuk melihat nomor merek dan versi JVM Anda.

Setelah memverifikasi kesuksesan, turunkan gambar .dmg di Finder. Kemudian buang file .dmg yang Anda unduh.


13

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.39dan yang ditetapkan.


1
+1: saya menggunakan skrip ini dan saya setuju, ini cukup berguna untuk devs yang memiliki banyak proyek yang memerlukan versi Java yang berbeda.
barclay

8
Sebenarnya tidak perlu mengatur skrip apa pun selama Anda hanya perlu menggunakan versi khusus untuk seluruh sistem. Pada dasarnya yang perlu Anda lakukan adalah menambahkan ke ~/.bashrcatau ~/.bash_profile: export JAVA_HOME = "/ usr / libexec / java_home -v 1.8" dan juga menambahkan Anda $JAVA_HOME/binke $PATHjika installer java belum melakukannya. (CATATAN: ganti tanda kutip ganda dengan backticks untuk / usr / libexec / java_home, tidak dapat memasukkan backticks literal dalam komentar ..)
ccpizza

jika Anda ingin menginstal java 7 (di samping java 8) melalui homebrew, perintahnya brew tap caskroom/versionsdiikuti oleh brew cask install java7.
icfantv

2
jenv adalah alat yang sangat mudah untuk mengelola beberapa versi Java, baik secara global atau lokal per-direktori.
Christian Long

11

Jalankan perintah ini di mac High Sierra

brew update
brew tap caskroom/versions
brew cask install java8

dan periksa dengan perintah

java -version

Mendapatkan ini: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
Siddhartha


7

Cara terbaik adalah dengan menggunakan manajer paket Brew tetapi perintahnya

 brew cask install java8

gagal dengan kesalahan:

Error: No available formula with the name "java8" 

Jadi gunakan

brew cask install caskroom/versions/java8

Bagaimana saya menemukan "caskroom / versi / java8": menggunakan perintah pencarian brew:

brew cask search java8

7

Jika Anda menggunakannya BUKAN untuk penggunaan pribadi, Anda mungkin ingin menggunakan OpenJDK sebagai gantinya untuk menghindari potensi tuntutan hukum dari Oracle.

brew cask install adoptopenjdk8

temukan / usr / local / Homebrew / Library / Taps / | grep -i jdk | xargs rm -v jika Anda mendapatkan "Error: Cask adoptopenjdk8 ada dalam beberapa ketukan:" error ...
Yordan Georgiev

5

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:

brew install homebrew/cask-versions/

Jika gagal, coba langsung yang berikutnya:

brew install homebrew/cask-versions/adoptopenjdk8

Tes dengan brew cask listataujava -version


+1, yang berfungsi untuk saya di macOS 10.12.6 Sierra. (Atau menyeduh tong instal adoptopenjdk / openjdk / adoptopenjdk8)
McAllister Bowman

+1 Yang pertama gagal (Kesalahan: Tidak ada rumus yang tersedia dengan nama "homebrew / cask-versi /"), tetapi yang kedua sepertinya berhasil. Jawaban yang diperbarui untuk menghindari menakut-nakuti orang dengan faillure pertama.
Dennis Jaheruddin

4

Paling sederhana adalah mengunduh file dmg dari situs berikut dan instal dengan klik dua kali

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

cari JVM yang tersedia dari direktori home

ls -al /Library/Java/JavaVirtualMachines

dan perbarui .bash_profile dengan versi yang relevan

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_XXX.jdk./Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

dan akhirnya

source ~/.bash_profile

3

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:

brew update

2. Tambahkan tap tong, jika Anda belum (atau Anda tidak melihat versi Java yang lebih lama dengan langkah # 3):

brew tap homebrew/cask-versions

3. dan untuk versi AdoptOpenJDK, tambahkan ketuk 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.

4. Cari versi yang dapat diinstal:

brew search java 

atau untuk versi AdoptOpenJDK:

brew search jdk     

5. Periksa detail pada versi yang akan diinstal:

brew cask info java

atau untuk versi AdoptOpenJDK:

brew cask info adoptopenjdk

6. Instal versi JDK tertentu seperti java11, adoptopenjdk8, atau hanya java atau adoptopenjdk untuk saat ini. Sebagai contoh:

**brew cask install java**

**brew cask install java8**

**brew cask install java11**

Anda dapat menggunakan jalur yang sepenuhnya memenuhi syarat untuk versi yang lebih lama juga:

brew cask install homebrew/cask-versions/java11

Agaknya saya melakukan sesuatu yang salah, tetapi ketika mencoba melakukan java8 saya mendapat kesalahan: Kesalahan: Cask 'java8' tidak tersedia: Tidak ada tong dengan nama ini ada.
Dennis Jaheruddin

2

Anda dapat mencoba ini:

$ brew search jdk
$ brew cask install homebrew/cask-versions/adoptopenjdk8
$ /usr/libexec/java_home

 


2

Cara termudah

1) brew cask install java

2) java -version

java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)

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.


selalu menginstal versi terbaru
Ray Garner

1

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.


0

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/


ty untuk tip ke sdkman.io! Saya melihat ini karena utas begitu lama tetapi bisa membaca akhirnya. Fyi, tip ini juga di atas stackoverflow.com/a/54101167/242110
AnneTheAgile



-4

Langkah-langkah di bawah ini berhasil untuk saya.

1) Copot semua jdks

Di jendela Terminal Salin dan tempel perintah di bawah ini:

sudo rm -fr /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin

sudo rm -fr /Library/PreferencePanes/JavaControlPanel.prefpane

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.

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.