Come posso verificare se Java JDK è installato su Mac?


125

Come si controlla se Java SDK è installato su un Mac?

C'è una riga di comando per questo?


"che il software non è in esecuzione" Qual è l'output dell'errore?
Andrew Thompson,

Risposte:


183

javac -version in un terminale farà


Ho ottenuto "javac 1.6.0_37" è equivalente a jdk 6 o 7?
kiwi arrabbiato,

7
Tuttavia, se Java non è installato, apparirà una finestra di dialogo che ti dirà che Java deve essere installato, quindi questa non è una buona opzione per gli script.
un secchione pagato il

70

Puoi sfruttare il java_homebinario helper OS Xper quello che stai cercando.

Per elencare tutte le versioni di JDK installato:

$ /usr/libexec/java_home -V
Matching Java Virtual Machines (2):
    1.8.0_51, x86_64:   "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_51.jdk/Contents/Home
    1.7.0_79, x86_64:   "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home

Per richiedere il percorso JAVA_HOME di una versione JDK specifica, puoi fare:

$ /usr/libexec/java_home -v 1.7
/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home

$ /usr/libexec/java_home -v 1.8
/Library/Java/JavaVirtualMachines/jdk1.8.0_51.jdk/Contents/Home

Puoi sfruttare i comandi sopra riportati nel tuo script in questo modo:

REQUESTED_JAVA_VERSION="1.7"
if POSSIBLE_JAVA_HOME="$(/usr/libexec/java_home -v $REQUESTED_JAVA_VERSION 2>/dev/null)"; then
    # Do this if you want to export JAVA_HOME
    export JAVA_HOME="$POSSIBLE_JAVA_HOME"
    echo "Java SDK is installed"
else
    echo "Did not find any installed JDK for version $REQUESTED_JAVA_VERSION"
fi

Potresti essere in grado di fare if-else e controllare anche diverse versioni di java.

Se si preferisce l'output XML, java_home ha anche un'opzione -X per l'output in XML.

$ /usr/libexec/java_home --help
Usage: java_home [options...]
    Returns the path to a Java home directory from the current user's settings.

Options:
    [-v/--version   <version>]       Filter Java versions in the "JVMVersion" form 1.X(+ or *).
    [-a/--arch      <architecture>]  Filter JVMs matching architecture (i386, x86_64, etc).
    [-d/--datamodel <datamodel>]     Filter JVMs capable of -d32 or -d64
    [-t/--task      <task>]          Use the JVM list for a specific task (Applets, WebStart, BundledApp, JNI, or CommandLine)
    [-F/--failfast]                  Fail when filters return no JVMs, do not continue with default.
    [   --exec      <command> ...]   Execute the $JAVA_HOME/bin/<command> with the remaining arguments.
    [-R/--request]                   Request installation of a Java Runtime if not installed.
    [-X/--xml]                       Print full JVM list and additional data as XML plist.
    [-V/--verbose]                   Print full JVM list with architectures.
    [-h/--help]                      This usage information.

17

Digita un terminale:

which javac

Dovrebbe mostrarti qualcosa del genere

/usr/bin/javac

12
-1 per la risposta: la presenza del comando java nel percorso non testimonia che il JDK è installato (ma il JRE)
Luigi R. Viggiano,

Sono d'accordo. Potrei eseguire "quale java" o "quale javac", ma ho visualizzato un messaggio di errore durante l'esecuzione di "java --version" perché JDK non è installato.
fanchyna,

1
-1 Questo è completamente sbagliato. Tutti i Mac sono dotati di uno javacspessore di default. Non ha alcuna relazione con l'installazione o meno di Java.
Radon Rosborough,

3

Di seguito il comando ha funzionato abbastanza bene:

javac -version

Ho anche verificato manualmente navigando nella cartella Java sul mio Mac

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

2

/usr/bin/java_home lo strumento restituisce 1 se java non è installato.

Quindi puoi verificare se java è installato nel modo seguente:

/usr/libexec/java_home &> /dev/null && echo "installed" || echo  "not installed"

1

Basta digitare javac. Se è installato ottieni informazioni sull'utilizzo, altrimenti ti chiederà semplicemente se desideri installare Java.


0

Assicurarsi di definire correttamente il JDK del progetto e riavviare IntelliJ (riavvio completo).


0
  • Terminale aperto
  • eseguire il comando per vedere:

    javac -version

  • Inoltre è possibile verificare manualmente andando nella posizione specifica e quindi controllare. Per fare questo eseguire il comando di seguito nel terminale mac

    cd / Library / Java / JavaVirtualMachines /

Quindi eseguire lsnuovamente il comando nel terminale. Ora puoi vedere la versione e il pacchetto jdk se presenti nel tuo computer.

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.