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?


"Diese Software läuft nicht" Was ist die Fehlerausgabe?
Andrew Thompson

Antworten:


182

javac -version in einem Terminal reicht aus


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.

17

Geben Sie ein Terminal ein:

which javac

Es sollte dir so etwas zeigen

/usr/bin/javac

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

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"

1

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


0

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


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.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.