nota: queste soluzioni funzionano per varie versioni di Java, tra cui Java 8 e il nuovo Java 13, e per qualsiasi altra versione precedente di Java coperta dai gestori di versione elencati. Ciò include JDK alternativi di OpenJDK, Oracle, IBM, Azul, Amazon Correto, Graal e molti altri. Lavora facilmente con Java 7, Java 8, Java 9, Java 10, Java 11, Java 12 e Java 13!
Hai alcune opzioni su come eseguire l'installazione e come gestire la commutazione JDK. L'installazione può essere eseguita da Homebrew, SDKMAN , Jabba o un'installazione manuale. La commutazione può essere effettuata da JEnv , SDKMAN , Jabba o manualmente impostando JAVA_HOME
. Tutti questi sono descritti di seguito.
Installazione
Innanzitutto, installa Java usando il metodo che preferisci, incluso Homebrew, SDKMAN o un'installazione manuale del file tar.gz. I vantaggi di un'installazione manuale è che la posizione di JDK può essere collocata in una posizione standardizzata per Mac OSX.
Installa con SDKMAN
Questo è un modello semplice in quanto gestisce sia l'installazione che il cambio di versione, con un avvertimento che installa il JDK in una directory non standard.
< vedi sotto "Installazione e cambio di versioni con SDKMAN" >
Installa usando Jabba
Questo è anche un modello semplice in quanto sia l'installazione che il cambio di versione sono gestiti dallo stesso strumento. Le installazioni vengono eseguite in una directory non standard.
< vedi sotto "Installazione e cambio di versioni con Jabba" >
Installa manualmente dalla pagina di download di OpenJDK:
Scarica OpenJDK per Mac OSX da http://jdk.java.net/ (ad esempio Java 13 )
Annullare l'archiviazione del tar OpenJDK e posizionare la cartella risultante (ovvero jdk-13.jdk
) nella /Library/Java/JavaVirtualMachines/
cartella poiché questa è la posizione standard e prevista delle installazioni JDK. Puoi anche installare dove vuoi nella realtà.
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.
installa Homebrew se non l'hai già fatto. Assicurati che sia aggiornato:
brew update
Aggiungi il tocco delle botti, se non lo hai già fatto (o non vedi più le versioni Java precedenti con il passaggio 3):
brew tap homebrew/cask-versions
e per le versioni 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.
Cerca versioni installabili:
brew search java
o per le versioni AdoptOpenJDK:
brew search jdk
Controlla i dettagli sulla versione che verrà installata:
brew cask info java
o per la versione AdoptOpenJDK:
brew cask info adoptopenjdk
Installare una versione specifica del JDK, come java11
, adoptopenjdk8
, o solo java
o adoptopenjdk
per la corrente. Per esempio:
brew cask install java
Puoi utilizzare il percorso completo anche per le versioni precedenti:
brew cask install homebrew/cask-versions/java11
E questi verranno installati in /Library/Java/JavaVirtualMachines/
cui si trova la posizione tradizionale prevista su Mac OSX.
Altre opzioni di installazione:
Alcuni altri sapori di openJDK sono:
Le build di OpenJDK certificate Java Zulu di Azul Systems possono essere installate seguendo le istruzioni sul loro sito .
Zulu® è una build certificata di OpenJDK che è pienamente conforme allo standard Java SE. Zulu è open source al 100% e può essere scaricato gratuitamente. Ora gli sviluppatori Java, gli amministratori di sistema e gli utenti finali possono usufruire di tutti i vantaggi di Java open source con flessibilità di distribuzione e controllo sui tempi di aggiornamento.
Le build OpenJDK di Amazon Correto hanno un pacchetto di installazione facile da usare per la versione 8 o 11 (sono in arrivo altre versioni) e si installa nella/Library/Java/JavaVirtualMachines/
directorystandardsu Mac OSX.
Amazon Corretto è una distribuzione gratuita, multipiattaforma e pronta per la produzione di Open Java Development Kit (OpenJDK). Corretto viene fornito con supporto a lungo termine che includerà miglioramenti delle prestazioni e correzioni di sicurezza. Amazon gestisce Corretto internamente su migliaia di servizi di produzione e Corretto è certificato come compatibile con lo standard Java SE. Con Corretto, è possibile sviluppare ed eseguire applicazioni Java su sistemi operativi popolari, inclusi Linux, Windows e macOS.
Dov'è il mio JDK?!?!
Per trovare i percorsi dei Java JDK installati in precedenza nei percorsi di sistema predefiniti, utilizzare:
/usr/libexec/java_home -V
Macchine virtuali Java corrispondenti (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 / Sommario / Home
11, x86_64: "Java SE 11" /Library/Java/JavaVirtualMachines/jdk-11.jdk/Contents/Home
10.0.2, x86_64: "Java SE 10.0.2" / Libreria / 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" / Libreria /Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home
Puoi anche segnalare solo la posizione di una specifica versione di Java usando -v
. Ad esempio per Java 13:
/usr/libexec/java_home -v 13
/Library/Java/JavaVirtualMachines/jdk-13.jdk/Contents/Home
Conoscere la posizione dei JDK installati è utile anche quando si utilizzano strumenti come JEnv o si aggiunge un'installazione locale a SDKMAN o si collega un JDK di sistema in Jabba - e si deve sapere dove trovarli.
Se devi trovare JDK installato da altri strumenti, controlla queste posizioni:
- SDKMAN si installa su
~/.sdkman/candidates/java/
- Jabba si installa su
~/.jabba/jdk
Cambio manuale delle versioni
L'eseguibile Java è un wrapper che utilizzerà qualunque JDK sia configurato JAVA_HOME
, quindi puoi cambiarlo per cambiare anche quale JDK è in uso.
Ad esempio, se hai installato o decompresso JDK 13 /Library/Java/JavaVirtualMachines/jdk-13.jdk
se è il numero di versione più alto, dovrebbe già essere il valore predefinito, altrimenti potresti semplicemente impostare:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-13.jdk/Contents/Home
E ora qualunque sia l'eseguibile Java nel percorso vedrà questo e utilizzerà il JDK corretto.
L'uso /usr/libexec/java_home
dell'utilità come descritto in precedenza consente di creare alias o di eseguire comandi per modificare le versioni di Java identificando le posizioni delle diverse installazioni JDK. Ad esempio, creando alias di shell nel tuo .profile
o .bash_profile
per cambiare JAVA_HOME
per te:
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
Quindi per cambiare versione, basta usare l'alias.
java8
java -version
versione java "1.8.0_144"
Naturalmente, anche l'impostazione JAVA_HOME
manuale funziona!
Cambio di versione con JEnv
JEnv prevede che i Java JDK esistano già sulla macchina e possano trovarsi in qualsiasi posizione. In genere troverai Java JDK installato in/Library/Java/JavaVirtualMachines/
. JEnv consente di impostare la versione globale di Java, una per la shell corrente e una versione locale per directory che è utile quando alcuni progetti richiedono versioni diverse rispetto ad altri.
Installa JEnv se non l'hai già fatto, istruzioni sul sito http://www.jenv.be/ per l'installazione manuale o l'utilizzo di Homebrew.
Aggiungi qualsiasi versione di Java a JEnv ( modifica la directory se questa è stata posizionata altrove ):
jenv add /Library/Java/JavaVirtualMachines/jdk-13.jdk/Contents/Home
Imposta la tua versione globale usando questo comando:
jenv global 13
Puoi anche aggiungere altre versioni esistenti usando jenv add
in modo simile ed elencare quelle disponibili. Ad esempio Java 8:
jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home
jenv versions
Vedi i documenti JEnv per ulteriori comandi. È ora possibile passare da una versione all'altra (Oracle, OpenJDK, altro) in qualsiasi momento per l'intero sistema, per le shell o per directory locale.
Per facilitare la gestione JAVA_HOME
durante l'utilizzo di JEnv, puoi aggiungere il plug-in di esportazione per farlo.
$ jenv enable-plugin export
You may restart your session to activate jenv export plugin echo export plugin activated
Il plug-in di esportazione potrebbe non adattarsi JAVA_HOME
se è già impostato, quindi potrebbe essere necessario cancellare questa variabile nel profilo in modo che possa essere gestita da JEnv.
Puoi anche usare jenv exec <command> <parms...>
per eseguire singoli comandi JAVA_HOME
e PATH
impostarli correttamente per quel comando, che potrebbe includere l'apertura di un'altra shell.
Installazione e cambio di versioni con SDKMAN
SDKMAN è un po 'diverso e gestisce sia l'installazione che la commutazione. SDKMAN posiziona anche i JDK installati nel proprio albero di directory, che in genere è~/.sdkman/candidates/java
. SDKMAN consente di impostare una versione predefinita globale e una versione specifica della shell corrente.
Installa SDKMAN da https://sdkman.io/install
Elencare le versioni Java disponibili per assicurarsi di conoscere l'ID versione
sdk list java
Installa una di quelle versioni, ad esempio Java 13:
sdk install java 13.0.0-open
Imposta 13 come versione predefinita:
sdk default java 13.0.0-open
Oppure passa a 13 per la sessione:
sdk use java 13.0.0-open
Quando elencherai le versioni disponibili per l'installazione usando il comando list, vedrai una grande varietà di distribuzioni di Java:
sdk list java
E installa versioni aggiuntive, come JDK 8:
sdk install java 8.0.181-oracle
SDKMAN può funzionare con versioni esistenti precedentemente installate. Basta eseguire un'installazione locale fornendo la propria etichetta di versione e la posizione di JDK:
sdk install java my-local-13 /Library/Java/JavaVirtualMachines/jdk-13.jdk/Contents/Home
E usalo liberamente:
sdk use java my-local-13
Ulteriori informazioni sono disponibili nella Guida all'uso di SDKMAN insieme ad altri SDK che possono essere installati e gestiti.
SDKMAN gestirà automaticamente la tua PATH
e JAVA_HOME
per te mentre cambi versione.
Installazione e cambio di versioni con Jabba
Jabba gestisce anche l'installazione e la commutazione. Jabba posiziona anche i JDK installati nel proprio albero di directory, che in genere è~/.jabba/jdk
.
Installa Jabba seguendo le istruzioni sulla home page .
Elenco disponibile di JDK
jabba ls-remote
Installa Java JDK 12
jabba install openjdk@1.12.0
Usalo:
jabba use openjdk@1.12.0
Puoi anche aliasare i nomi delle versioni, collegarti a JDK esistenti già installati e trovare un mix di JDK interessanti come GraalVM, Adopt JDK, IBM JDK e altro. La guida all'uso completa è disponibile anche sulla home page.
Jabba gestirà automaticamente la tua PATH
e JAVA_HOME
per te mentre cambi le versioni.