Come installare Java 8 su Mac


996

Voglio fare un po 'di programmazione con l'ultimo JavaFX, che richiede Java 8. Sto usando IntelliJ 13 CE e Mac OS X 9 Mavericks. Ho eseguito il programma di installazione Java 8 di Oracle e i file sembrano essere finiti su

/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk

ma le versioni precedenti sono a

/System/Library/Java/JavaFrameworks/jdk1.6....

Non sono sicuro del motivo per cui l'ultimo programma di installazione lo inserisce /Libraryanziché /System/Library(né quale sia la differenza). Ma /usr/libexec/java_homenon trova 1.8, quindi tutti i post che ho trovato su come impostare la tua attuale versione java non funzionano. Ho provato ad aggiungere un link simbolico per far sembrare che 1.8 sia nel /System/Library...percorso, ma non aiuta. /usr/libexec/java_home -Velenca ancora solo il vecchio Java 1.6.

Ironia della sorte, il pannello di controllo "Java" in Preferenze di Sistema mostra solo Java 1.8!

Perché il programma di installazione di Oracle non lo mette dove va davvero? E come posso aggirare questo problema?


8
"Va davvero" dove è finito - /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/. La precedente era quella in cui andavano le versioni Java fornite da Apple e poiché Apple non fornisce più Java, il percorso di installazione è cambiato.
awksp,

Risposte:


1889

Oracle ha un record scarso per rendere facile l'installazione e la configurazione di Java, ma utilizzando Homebrew , l'ultimo OpenJDK (Java 14) può essere installato con:

brew cask install java

Per i molti casi d'uso che dipendono da una versione precedente (comunemente Java 8), il progetto AdoptOpenJDK lo rende possibile con un passaggio aggiuntivo.

brew tap adoptopenjdk/openjdk
brew cask install adoptopenjdk8

Gli utenti esistenti di Homebrew possono incontrare a Error: Cask adoptopenjdk8 exists in multiple tapscausa di soluzioni alternative precedenti con diverse istruzioni. Questo può essere risolto specificando completamente la posizione con brew cask install adoptopenjdk/openjdk/adoptopenjdk8.


89
A partire da dicembre 2015, ora non è necessario installare cask manualmente poiché ora fa parte dell'installazione di homebrew. Quindi, dopo aver aggiornato l'homebrew tramite brew update, sei pronto per l'uso brew cask.
davetw12,

63
Grazie, è incredibile quanto sia orribile il processo di installazione di Java usando i collegamenti / documenti "ufficiali".
Enderland,

15
@tandrewnichols Ho appena eseguito brew cask install javasul mio Mac El Capitan e si sta scaricando jdk-8u112-macosx-x64.dmg.
Calrion,

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

87
La soluzione per ora è brew tap homebrew/cask-versionse usarebrew cask install homebrew/cask-versions/adoptopenjdk8
Sean Breckenridge,

736

Nota: Oracle Java 8/9/10 non è più disponibile per il download pubblico (modifica della licenza).

Prima installa e aggiorna brew dal Terminale:

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

brew tap homebrew/cask-versions

brew update

NOVITÀ da giugno 2019

Per installare i JDK da AdoptOpenJDK:

brew tap adoptopenjdk/openjdk

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

VECCHIO

Java 8:

brew cask install java8

Ultime Java:

brew cask install java

3
Interessante notare che questo non ha funzionato per me su Mavericks, quindi non ha risposto alla domanda dell'OP, ma ha funzionato per me sul Capitano, quindi è stato utile come risposta ..
Tommy,

3
Ho installato homebrew fresco su una nuova macchina OS X El Capitan e non ho dovuto eseguire il brew tapcomando nella risposta sopra. Il primo e il terzo comando erano sufficienti.
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. Devo usarebrew cask install adoptopenjdk/openjdk/adoptopenjdk8
roottraveller il

5
brew tap homebrew/cask-versionse brew cask install adoptopenjdk8lavora per me su Hi Sierra 10.13.6
xjlin0

135

Java8 non è più disponibile su homebrew, brew install java8non funzionerà.

Invece, usa:

brew cask install adoptopenjdk/openjdk/adoptopenjdk8

Vedi questo commit per i dettagli tecnici.

Tieni presente inoltre che potresti riscontrare problemi in giro Cask adoptopenjdk8 exists in multiple taps. Questo è un problema noto, attualmente in fase di elaborazione, che puoi vedere qui:

https://github.com/AdoptOpenJDK/homebrew-openjdk/issues/106

Per coloro che non vogliono scorrere i dettagli, ecco un riepilogo:

# 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
C'è qualche differenza nell'usare AdoptOpenJDK/openjdkinvece di usarehomebrew/cask-versions/adoptopenjdk8
Sean Breckenridge il

Ottengo quanto segue quando provo la tua risposta: Cask adoptopenjdk8 esiste in più tocchi: caskroom / version / adoptopenjdk8 adoptopenjdk / openjdk / adoptopenjdk8
Koray Tugay

@KorayTugay Ho aggiornato la risposta, questo dovrebbe risolvere i tuoi problemi!
Dave Kerr,

1
@SeanBreckenridge - il team HomeBrew ci sta lavorando, al momento sembra che verrà utilizzato AdoptOpenJDK, ma c'è ancora qualche incertezza, vedi il problema attualmente aperto github.com/AdoptOpenJDK/homebrew-openjdk/issues/106 per i dettagli!
Dave Kerr,

1
brew cask install homebrew/cask-versions/adoptopenjdk8ha funzionato per me
protoEvangelion il

123

L'ho appena fatto sul mio MBP e ho dovuto usarlo

$ brew tap caskroom/versions
$ brew cask install java8

per ottenere l'installazione di java8.


9
Mi ha aiutato con l'installazione di una versione specifica di Java. Ora, quando java 9 è uscito, l'esecuzione di "brew cask install java" installa java 9. "brew cask install java8" non funzionava per me fino a quando non ho eseguito "brew tap caskroom / versioni".
interrompere il

6
Sì, brew tap caskroom/versionsè necessario prima di installare java8
hendrix il

11
o solo brew install homebrew/cask-versions/java8per la vittoria!
Naruto Sempai,

4
Non è più possibile installare Java8 utilizzando Brew a causa delle modifiche alla licenza Oracle. Java8 non è più disponibile per il download pubblico.
Marcelo Xavier,

2
Vedere stackoverflow.com/a/55775566/9306378 se si desidera ancora utilizzare java8. Si noti che questo utilizza OpenJDK però.
Polpetta,

62

Un'opzione che sto iniziando a apprezzare davvero per l'esecuzione di applicazioni sul mio computer locale è l'uso di Docker. Puoi semplicemente eseguire la tua applicazione all'interno del contenitore JDK ufficiale, il che significa che non devi preoccuparti di configurare tutto sul tuo computer locale (o preoccuparti di eseguire più versioni diverse di JDK per diverse app ecc.)

Anche se questo potrebbe non aiutarti con i tuoi attuali problemi di installazione, è una soluzione che significa che puoi fare un passo avanti nel campo minato dei problemi relativi al tentativo di far funzionare Java correttamente sul tuo computer di sviluppo!

I vantaggi sono:

  1. Non è necessario configurare alcuna versione di Java sul tuo computer locale (eseguirai Java all'interno di un contenitore estratto dall'hub Docker)
  2. Molto facile passare a diverse versioni di Java semplicemente cambiando il tag sul contenitore.
  3. Le dipendenze del progetto sono installate all'interno del contenitore, quindi se confondi la tua configurazione puoi semplicemente annotare il contenitore e ricominciare.

Un esempio molto semplice:

Crea un Dockerfile:

FROM java:8
COPY . /usr/src/myapp
WORKDIR /usr/src/myapp
  • Qui stiamo specificando il contenitore Java che esegue la versione 8 dell'SDK (java:8 - per usare Java 7, si può solo specificare: java:7)
  • Stiamo mappando la directory locale con la directory: /usr/src/myapp all'interno del contenitore

Creare un docker-compose.yml file:

version: "2"

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

Ora, supponiamo di avere questo file Java:

HelloWorld.java

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

Quindi abbiamo la seguente struttura di file:

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

Puoi fare varie cose Java come:

compilare:

docker-compose run --rm java javac HelloWorld.java 
  • Si noti che HelloWorld.class viene visualizzato nella directory corrente (ciò è dovuto al fatto che abbiamo mappato la directory corrente nella posizione all'interno del contenitore in cui esiste il nostro codice

correre:

docker-compose run --rm java java HelloWorld 
  • Nota: la prima volta che esegui questa operazione recupererà l'immagine ecc. Ciò richiederà un po 'di tempo - succede solo la prima volta
  • docker-compose run - esegue un comando dall'interno del contenitore
  • -rm dice alla finestra mobile di rimuovere il contenitore al termine dell'esecuzione del comando
  • java è il nome del servizio / contenitore (dal nostro file comporre docker) rispetto al quale verrà eseguito questo comando
  • il resto della riga è il comando da eseguire all'interno del contenitore.

Questo è un bel modo di gestire l'esecuzione di diverse versioni di Java per diverse app senza fare un pasticcio completo della tua configurazione locale :).

Ecco un esempio leggermente più complesso che ha Maven e una semplice app Spring

Disclaimer:


2
Un buon esempio usando Docker, non so perché hai ottenuto un downvote prima.
Andrew,

28
Immagino il downvote perché questo non risponde alla domanda di eseguire Java su OS X / MacOS. Rispondere "Come posso farlo sulla piattaforma X" con "Basta usare una VM / shim per farlo sulla piattaforma Y" non è produttivo.
entro il

soprattutto per lo sviluppo nativo di Java (ad esempio utilizzando SWIG, JNI e LIBRARY_PATH)
Mizux,

56

Presupposto: macchina Mac e hai già installato homebrew.

Installa cask (con Homebrew 0.9.5 o versioni successive, cask è incluso, quindi salta questo passaggio):

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

Per installare l'ultima versione di Java:

$ brew cask install java

Per installare java 8:

$ brew cask install adoptopenjdk/openjdk/adoptopenjdk8

Se vuoi installare / gestire più versioni, puoi usare 'jenv':

Installa e configura jenv:

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

Aggiungi java installato a 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

Per vedere tutto il java installato:

$ jenv versions

Il comando precedente fornirà l'elenco di Java installato:

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

Configura la versione java che desideri utilizzare:

$ jenv global oracle64-1.6.0.39

Per impostare JAVA_HOME:

$ jenv enable-plugin export

2
Soluzione migliore! Grazie!
Viktorianer

1
Grazie! Proprio quello che stavo cercando.
csomakk,

Grazie. Inizia con una soluzione breve e puntuale e continua con un altro strumento utile: 'jenv' è utile da avere in giro e manca dalla maggior parte delle altre risposte. Ho aiutato a confezionare il codice Scala (2.12 / 2.13) nel 2020.
emllnd

Funziona come un incantesimo, prepara il barile adottare adoptopenjdk / openjdk / adoptopenjdk8
jeadonara

25

Sto riscontrando lo stesso problema da risolvere, perché devo installare JDK8 per eseguire Android SDK Manager (perché sembra che non funzioni bene con JDK9). Tuttavia, ti dico come risolvo tutti i problemi su un Mac (Sierra).

Per prima cosa, devi preparare una birra con botte e jenv .

  1. Puoi trovare una guida utile qui, Guida all'installazione di Homebrew Cask . Ricorda di toccare 'caskroom / versioni' in esecuzione nel terminale: brew tap caskroom/versions
  2. Successivamente, installa jenv con: brew install jenv
  3. Installa la versione che vuoi con cask brew cask install java8(o java7o javase vuoi installare l'ultima versione, jdk9)
  4. L'ultimo passo è configurare quale versione eseguire (e lasciare che jenv gestisca il tuo JAVA_HOME) jenv versionsper elencare tutte le versioni installate sul tuo computer e quindi attivare quella con cui vuoijenv global [JDK_NAME_OF_LIST]

Puoi trovare altre informazioni utili qui su questo brew-java-and-jenv.md di Github Gist , su questo blog Installa più JDK su un Mac e sul sito Web di Jenv


jenv è abbastanza semplice e super utile. Ho diversi progetti che richiedono java 8 e 11
Nikhil Sahu

20
brew cask install caskroom/versions/java8

18

Se hai diverse versioni di Java sulla tua macchina e vuoi sceglierla dinamicamente in fase di esecuzione, vale a dire, nel mio caso, ne ho due versioni:

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/

Puoi cambiarli modificando il /etc/profilecontenuto. Aggiungi (o modifica) le seguenti due righe alla fine del file:

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

Nel mio caso, dovrebbe essere simile al seguente se voglio usare:

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

Dopo aver salvato il file, esegui source /etc/profile e dovrebbe funzionare. Ecco i risultati quando uso la prima e la seconda opzione di conseguenza:

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)

Il processo è simile se la cartella java si trova in posizioni diverse.


Perché non creare un alias per versioni diverse, come alias java8=/Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/Contents/Home/bin/java?
Cglacet,

14

Sembra che nessuno abbia ancora menzionato SDK man ( https://sdkman.io/ ).

SKD man consente di installare più versioni di Java su Mac e di passare facilmente da una versione all'altra. Maggiori informazioni sono disponibili su https://sdkman.io/usage .

Per esempio:

$ 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

Usa l'installer, Luke

Altre risposte suggeriscono che il gestore di pacchetti Homebrew mi sembra un po 'estremo. Sono sicuro che Homebrew abbia dei buoni usi. Ma per eseguire semplicemente Java, installare Homebrew è un passaggio aggiuntivo inutile. Se il tuo obiettivo è semplicemente quello di eseguire Java, scarica un programma di installazione per Mac da una fonte attendibile.

Hai più fonti per ottenere un'app di installazione facile da usare per mettere Java sul tuo Mac. Esegui il programma di installazione sul tuo Mac come fai per molte altre app.

Ecco un diagramma di diagramma di flusso per trovare una fonte di Java 11, alcuni dei quali offrono anche Java 8.

Diagramma di flusso che guida l'utente nella scelta di un fornitore per un'implementazione di Java 11

Scarica un programma di installazione da un fornitore come AdoptOpenJDK.net.

Pagina di download su AdoptOpenJDK.net

Esegui il programma di installazione.

screenshot del programma di installazione in esecuzione

JavaVirtualMachines la cartella ora è corretta

Perché il programma di installazione di Oracle non lo mette dove va davvero? E come posso aggirare questo problema?

Non è un problema.

La cartella /Library/Java/JavaVirtualMachines/è la nuova home per JVM su macOS .

screenshot della cartella "/ Library / Java / JavaVirtualMachines /" nel Finder

Per installare una JVM, utilizzare un programma di installazione, discusso di seguito.

Per disinstallare, basta usare il Finder per eliminare una JVM da quella cartella. Ti verrà richiesta la password dell'amministratore di sistema per completare la rimozione.


Java 9 e 10 e 11

Nel 2010, Apple ha aderito al progetto OpenJDK , insieme a Oracle , IBM , Red Hat , Azul e altri fornitori Java. Ogni membro contribuisce con codice sorgente, test e feedback al codice unificato OpenJDK.

Apple ha contribuito con gran parte del suo codice specifico per Mac per la sua JVM. Ora Apple non rilascia più la propria JVM specifica per Mac. Ora puoi scegliere il fornitore JVM, con build provenienti dalla base di codice OpenJDK.

Troverai il codice sorgente su: http://openjdk.java.net

Nuova cadenza di rilascio

Tenere presente che nel 2017 Oracle, JCP e OpenJDK hanno adottato un nuovo piano di "rilascio rapido" per le versioni di Java regolarmente programmate da consegnare in modo prevedibile.

Leggi questo post sul blog Azul Systems 2018-07 per molti dettagli, eliminando la confusione degli aggiornamenti Java di Simon Ritter .

Leggi anche Java è ancora gratuito .

I venditori

Per un elenco piuttosto completo delle implementazioni JVM passate e presenti, consultare questa pagina su Wikipedia .

Ecco una discussione di alcuni venditori. Vedere il diagramma di flusso sopra per più fornitori

Oracle JDK

Oracle fornisce programmi di installazione JDK e JRE per più piattaforme, incluso macOS.

Negli anni successivi all'acquisizione di Sun, Oracle ha combinato le parti migliori dei due motori JVM, HotSpot e JRocket , e le ha unite in OpenJDK progetto utilizzato come base per le proprie implementazioni con marchio Java.

Il loro nuovo piano aziendale, a partire dal 2018, è quello di fornire un'implementazione di Java con marchio Oracle a pagamento nella produzione e senza costi di utilizzo nello sviluppo / test / demo. Il supporto per le versioni precedenti richiede un programma di supporto a pagamento. Hanno dichiarato la loro intenzione che la loro versione firmata sia in linea con la versione OpenJDK. Hanno anche donato i loro componenti aggiuntivi commerciali come Flight Recorder al progetto OpenJDK.

Oracle rilascia anche una build di OpenJDK senza supporto: http://jdk.java.net/

Oracle ha prodotto uno scopo speciale JDK, GraalVM .

Zulu & Zing di Azul

Azul Systems offre una varietà di prodotti JVM.

  • La loro Zululinea si basa direttamente su OpenJDK ed è disponibile gratuitamente con piani di supporto a pagamento opzionali.
  • La loro Zinglinea offre prodotti JVM commerciali arricchiti con implementazioni tecniche alternative come un cestino della spazzatura specializzato .

Entrambe le loro linee offrono programmi di installazione per macOS.

Attualmente sto usando Zulu per Java 10.0.1 su macOS High Sierra con IntelliJ 2018.2 e Vaadin 8 . Ho scaricato da questa pagina . A proposito, non trovo alcun elemento relativo a Java installato sull'app Preferenze di Sistema di Apple .

AdoptOpenJDK.net

AdoptOpenJDK è uno sforzo guidato dalla comunità per creare binari del sorgente OpenJDK. Intendono offrire aggiornamenti nel tempo, come donati dai membri della comunità.

  • La scelta tra HotSpot o OpenJ9 motore .
  • Build disponibili per macOS, Linux e Windows.

OpenJ9 di Eclipse

Il progetto OpenJ9 è un'altra implementazione del motore JVM, un'alternativa a HotSpot .

Ora sponsorizzato presso la Eclipse Foundation, con tecnologia e supporto donati da IBM nel 2017.

Per i binari predefiniti, fanno riferimento al progetto AdoptOpenJDK sopra menzionato.

Motivazioni nella scelta di un fornitore per Java.png


Come installare

Gli installatori forniti da Oracle o da Azul sono entrambi estremamente semplici da utilizzare. Basta eseguire l'app di installazione sul Mac. Viene visualizzata una finestra che indica l'avanzamento dell'installazione.

Al termine, verifica l'installazione di JVM:

  • Visitando la /Library/Java/JavaVirtualMachines/cartella per vedere un elemento per la nuova JVM.
  • Eseguendo una console come Terminal.app e digita java -versionper vedere il marchio e il numero di versione della tua JVM.

Dopo aver verificato il successo, smonta l'immagine .dmg nel Finder. Quindi cestinare il file .dmg scaricato.


13

Ho applicazioni che usano sia Java 7 che 8 e devono andare avanti e indietro continuamente.

Uso questa sceneggiatura scritta da Johan:

http://www.jayway.com/2014/01/15/how-to-switch-jdk-version-on-mac-os-x-maverick/

Ora puoi impostarlo all'avvio o chiamare lo script in seguito.
Installa JDK per 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


Raccomandazione aggiornata !! :

Usa jenv https://www.jenv.be/ e homebrew.

Quindi è giusto jenv global oracle6401.6.0.39e il suo set.


1
+1: utilizzo questo script e sono d'accordo, è abbastanza utile per gli sviluppatori che hanno più progetti che richiedono diverse versioni di Java.
barclay,

8
Non è necessario impostare alcuno script purché sia ​​necessario utilizzare solo una versione specifica a livello di sistema. In pratica tutto quello che dovete fare è aggiungere al vostro ~/.bashrco ~/.bash_profile: export JAVA_HOME = "/ usr / libexec / java_home -v 1.8" e anche aggiungere il $JAVA_HOME/binper $PATHse il programma di installazione di Java non lo ha fatto già. (NOTA: sostituisci le doppie virgolette con i backtick per / usr / libexec / java_home, non puoi inserire backtick letterali nei commenti ..)
ccpizza

se si desidera installare java 7 (insieme a java 8) tramite homebrew, il comando è brew tap caskroom/versionsseguito da brew cask install java7.
Icfantv,

2
jenv è uno strumento molto conveniente per la gestione di più versioni di Java, a livello globale o locale per directory.
Christian Long,

11

Esegui questi comandi su Mac High Sierra

brew update
brew tap caskroom/versions
brew cask install java8

e controlla con comando

java -version

Ottenendo questo: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

Il modo migliore è utilizzare Gestione pacchetti Brew ma il comando

 brew cask install java8

fallisce con errore:

Error: No available formula with the name "java8" 

Quindi usa

brew cask install caskroom/versions/java8

Come ho trovato "caskroom / version / java8": usando il comando brew search:

brew cask search java8

7

Se lo stai utilizzando NON per uso personale, potresti voler usare OpenJDK invece di evitare qualsiasi potenziale causa legale da parte di Oracle.

brew cask install adoptopenjdk8

trova / usr / local / Homebrew / Library / Taps / | grep -i jdk | xargs rm -v se succede ottieni "Errore: Cask adoptopenjdk8 esiste in più tocchi:" errore ...
Yordan Georgiev

5

Se sei su un Mac, Homebrew è il modo di installare roba.

Sembra che la versione 8 non sia più la più recente, quindi non è disponibile utilizzando l'impostazione predefinita brew cask install java.

Invece sono riuscito nel modo seguente:

brew install homebrew/cask-versions/

Se fallisce, prova direttamente il prossimo:

brew install homebrew/cask-versions/adoptopenjdk8

Prova con brew cask listojava -version


+1, che funziona per me su macOS 10.12.6 Sierra. (O preparare il barile installare adoptopenjdk / openjdk / adoptopenjdk8)
McAllister Bowman

+1 Il primo non è riuscito (errore: nessuna formula disponibile con il nome "homebrew / cask-version /"), ma il secondo sembrava funzionare. Risposta aggiornata per evitare di spaventare le persone con il primo faillure.
Dennis Jaheruddin,

4

Il più semplice è scaricare il file dmg dal seguente sito e installarlo facendo doppio clic

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

cerca le JVM disponibili dalla home directory

ls -al /Library/Java/JavaVirtualMachines

e aggiorna il .bash_profile con la versione pertinente

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

e infine

source ~/.bash_profile

3

Installa con Homebrew

La versione di Java disponibile in Homebrew Cask precedente al 3 ottobre 2018 era effettivamente Oracle JVM. Ora, tuttavia, è stato ora aggiornato a OpenJDK. Assicurati di aggiornare Homebrew e vedrai l'ultima versione disponibile per l'installazione.

1. installa Homebrew se non l'hai già fatto. Assicurati che sia aggiornato:

brew update

2. Aggiungi il tocco alle botti, se non lo hai già fatto (o non vedi più le versioni precedenti di Java con il passaggio 3):

brew tap homebrew/cask-versions

3. e per le versioni di AdoptOpenJDK, aggiungi quel tocco:

brew tap adoptopenjdk/openjdk

Queste botti cambiano spesso le loro versioni Java e potrebbero esserci altri tocchi là fuori con versioni Java aggiuntive.

4. Cerca le versioni installabili:

brew search java 

o per le versioni AdoptOpenJDK:

brew search jdk     

5. Controlla i dettagli sulla versione che verrà installata:

brew cask info java

o per la versione AdoptOpenJDK:

brew cask info adoptopenjdk

6. Installare una versione specifica di JDK come java11, adoptopenjdk8 o semplicemente java o adoptopenjdk per l'attuale. Per esempio:

**brew cask install java**

**brew cask install java8**

**brew cask install java11**

Puoi utilizzare il percorso completo anche per le versioni precedenti:

brew cask install homebrew/cask-versions/java11

Presumibilmente ho fatto qualcosa di sbagliato, ma quando ho provato a fare java8 ho ricevuto un errore: Errore: Cask 'java8' non è disponibile: Non esiste Cask con questo nome.
Dennis Jaheruddin,

2

Puoi provare questo:

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

 


2

Il modo più semplice

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 è un'estensione di Homebrew che ha lo scopo di gestire grandi binari Mac e applicazioni grafiche, ma utilizzando l'interfaccia di Homebrew. Vedi anche questa risposta su Apple StackExchange.


installa sempre l'ultima versione
Ray Garner il

1

Provare :

brew cask install java 8 ,, darà il risultato seguente

8tracksradiohelper adoptopenjdk8 amitv87-pip corretto8 icone8 vmware-fusion8 x48 zulu8

Avanti inserire: brew cask install adoptopenjdk8 ---- java 8 verrà installato su Mac.


0

Suggerirei di usare SDK man che è abbastanza facile cambiare la versione (temporaneamente e permanentemente) e fornisce anche altri SDK. Uso SDK man da più di un anno ormai.

https://sdkman.io/


fai un suggerimento su sdkman.io! Ho visto questo a causa della discussione così a lungo, ma in grado di leggere la fine. Cordiali saluti, questo suggerimento è anche sopra stackoverflow.com/a/54101167/242110
AnneTheAgile



-4

Di seguito i passaggi hanno funzionato per me.

1) Disinstallare tutti i jdks

Nella finestra Terminale Copia e incolla il comando seguente:

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

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

2) Installa APPLE jdk.

https://support.apple.com/kb/DL1572?locale=en_US

3) Scarica l'ultimo JDK da Oracle e installalo, per me era JDK 1.82

http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html

Questo è tutto funzionerà come un fascino.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.