Wie überprüfe ich, ob das Java JDK auf einem Mac installiert ist?

125

Wie überprüfen Sie, ob Java SDK auf einem Mac installiert ist?

Gibt es dafür eine Kommandozeile?

wütende Kiwi
quelle
"Diese Software läuft nicht" Was ist die Fehlerausgabe?
Andrew Thompson

Antworten:

182

javac -version in einem Terminal reicht aus


quelle
Ich habe "javac 1.6.0_37", entspricht es jdk 6 oder 7?
wütend Kiwi
7
Wenn Java jedoch nicht installiert ist, wird ein Dialogfeld angezeigt, in dem Sie darüber informiert werden, dass Java installiert werden muss. Dies ist daher keine gute Option für Skripts.
Ein bezahlter Nerd
70

Sie können die java_homeHelfer-Binärdatei OS Xfür das nutzen, wonach Sie suchen.

So listen Sie alle Versionen des installierten JDK auf:

$ /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

Um den JAVA_HOME-Pfad einer bestimmten JDK-Version anzufordern, haben Sie folgende Möglichkeiten:

$ /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

Sie können die oben genannten Befehle in Ihrem Skript folgendermaßen nutzen:

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

Möglicherweise können Sie if-else ausführen und auch nach mehreren verschiedenen Java-Versionen suchen.

Wenn Sie eine XML-Ausgabe bevorzugen, verfügt java_home auch über die Option -X zur Ausgabe 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.
Tuxdude
quelle
17

Geben Sie ein Terminal ein:

which javac

Es sollte dir so etwas zeigen

/usr/bin/javac
Asgoth
quelle
12
-1 für die Antwort: Das Vorhandensein des Java-Befehls im Pfad bezeugt nicht, dass das JDK installiert ist (aber das JRE)
Luigi R. Viggiano
Genau. Ich könnte "which java" oder "which javac" ausführen, aber beim Ausführen von "java --version" wurde eine Fehlermeldung angezeigt, da JDK nicht installiert ist.
Fanchyna
1
-1 Das ist völlig falsch. Alle Macs javacwerden standardmäßig mit einer Unterlegscheibe geliefert. Es hat keinen Einfluss darauf, ob Java installiert ist oder nicht.
Radon Rosborough
3

Der folgende Befehl hat ziemlich gut funktioniert:

javac -version

Ich habe dies auch manuell überprüft, indem ich auf meinem Mac zum Java-Ordner navigiert habe

/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk
Mir Kazim Ali Tabrez
quelle
2

/usr/bin/java_home Das Tool gibt 1 zurück, wenn Java nicht installiert ist.

So können Sie auf folgende Weise überprüfen, ob Java installiert ist:

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

Geben Sie einfach ein javac. Wenn es installiert ist, erhalten Sie Nutzungsinformationen, andernfalls werden Sie nur gefragt, ob Sie Java installieren möchten.

Hari Dattada
quelle
0

Stellen Sie sicher, dass Sie das JDK des Projekts richtig definiert haben, und starten Sie IntelliJ neu (vollständiger Neustart).

Luís Soares
quelle
0
  • Terminal öffnen.
  • Führen Sie den Befehl aus, um Folgendes anzuzeigen:

    Javac-Version

  • Sie können dies auch manuell überprüfen, indem Sie zu dem bestimmten Ort gehen und dann überprüfen. Führen Sie dazu den folgenden Befehl im Mac-Terminal aus

    cd / Library / Java / JavaVirtualMachines /

Führen Sie dann den lsBefehl erneut im Terminal aus. Jetzt können Sie die JDK-Version und das Paket sehen, falls auf Ihrem Computer vorhanden.

Mohtasim
quelle