Installazione di Java su OS X 10.9 (Mavericks)
Ho installato il JDK su Mac OS X v10.8 (Mountain Lion). Quando l'ho aggiornato a Mac OS X v10.9 (Mavericks) e ho eseguito java -version
nel terminale, ha mostrato:
Nessun runtime Java presente, che richiede l'installazione.
Poi ho installato manualmente il JDK (1.7) sul mio Mac. Sembra che l'installazione abbia funzionato bene. Al termine dell'installazione, ho aperto il terminale e digitato anche java -version
. Ha anche mostrato lo stesso errore:
Nessun runtime Java presente, che richiede l'installazione.
Come posso risolvere questo problema?
5 answers
Il nuovo Mavericks (10.9) mi ha mostrato la "Richiesta di installazione", ma non è successo nulla.
La soluzione era scaricare e installare manualmente il pacchetto Java ufficiale per OS X, che si trova in Java per OS X 2013-005.
Aggiornamento: Come menzionato nei commenti qui sotto, c'è una versione più recente di questo stesso pacchetto:
Java per OS X 2014-001 (Correzione linea morta sopra)
Java per OS X 2014-001 include miglioramenti di installazione e sostituisce tutte le versioni precedenti di Java per OS X. Questo pacchetto installa la stessa versione di Java 6 inclusa in Java per OS X 2013-005.
Se si desidera solo installare l'ultimo JRE ufficiale da Oracle, è possibile ottenerlo lì, installarlo ed esportare il nuovo JAVA_HOME nel terminale.
- Apri il tuo terminale
-
java -version
ti dà un errore e un popup - Ottieni il dmg JRE su http://www.oracle.com/technetwork/java/javase/downloads/index.html
- Installalo
- Nel tuo terminale, digita:
export JAVA_HOME="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home"
-
java -version
ora ti dàjava version "1.7.0_45"
Questo è il modo più pulito Ho trovato per installare l'ultimo JRE.
Puoi aggiungere la riga export JAVA_HOME
nel tuo .bashrc
per avere java
permanentemente nel tuo Terminale:
echo export JAVA_HOME=\"/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home\" >> ~/.bashrc
Il posto giusto per scaricare JDK per Java 7 è Java SE Download.
Tutti gli altri link forniti sopra, per quanto posso dire, forniscono i download JRE o Java 6 (per inciso, se vuoi eseguire Eclipseo altri IDE, come IntelliJ IDEA, avrai bisogno del JDK, non JRE).
Per quanto riguarda l'IDEA IntelliJ, ciò ti chiederà comunque di installare Java 6 poiché apparentemente ha bisogno di un caricatore di classi più vecchio o qualcosa del genere: basta seguire le istruzioni quando appare il pop-up della finestra di dialogo e installerà JDK 6 nel posto giusto.
Successivamente, dovrai fare il sudo ln -snf
menzionato nella risposta sopra:
sudo ln -nsf /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents \
/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK
(copiato qui come è stato detto che "sopra" potrebbe alla fine non avere senso quando le risposte vengono riordinate).
Ho anche impostato il mio {[4] } per indicare dove è stato installato jdk_1.7.0_xx.jdk
:
export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home"
Quindi aggiungilo al tuo PATH
:
export PATH=$JAVA_HOME/bin:$PATH
L'alternativa è fuzz in giro con folle labirinto di collegamenti ipertestuali di Apple, ma onestamente la vita è troppo breve per preoccuparsi.
Ho scaricato e installato il JDK 1.7 da Oracle. Nella console / in Terminale Java 7 funziona correttamente.
Quando avvio un programma Java (come Eclipse) tramite la GUI, ottengo:
Per aprire " Eclipse.app " hai bisogno di un runtime Java SE 6. Ti piacerebbe installare uno ora?
Poiché non volevo installare la vecchia versione di Java, ho usato la seguente soluzione:
sudo ln -nsf /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK
Crediti a monkehWorks .
Questo errore si verifica perché il file plist di IntelliJ IDEA richiede Java versione 1.6*. Per risolvere questo problema, sostituire il 1.6 * con 1.8*.
<key>JVMOptions</key>
<dict>
<key>ClassPath</key>
...
<key>JVMVersion</key>
<string>1.8*</string>
<key>MainClass</key>
<string>com.intellij.idea.Main</string>
<key>Properties</key>
<dict>