Wie überprüfen Sie, ob Java SDK auf einem Mac installiert ist?
Gibt es dafür eine Kommandozeile?
Wie überprüfen Sie, ob Java SDK auf einem Mac installiert ist?
Gibt es dafür eine Kommandozeile?
Antworten:
javac -version
in einem Terminal reicht aus
Sie können die java_home
Helfer-Binärdatei OS X
fü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.
Geben Sie ein Terminal ein:
which javac
Es sollte dir so etwas zeigen
/usr/bin/javac
javac
werden standardmäßig mit einer Unterlegscheibe geliefert. Es hat keinen Einfluss darauf, ob Java installiert ist oder nicht.
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
Geben Sie einfach ein javac
. Wenn es installiert ist, erhalten Sie Nutzungsinformationen, andernfalls werden Sie nur gefragt, ob Sie Java installieren möchten.
Stellen Sie sicher, dass Sie das JDK des Projekts richtig definiert haben, und starten Sie IntelliJ neu (vollständiger Neustart).
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 ls
Befehl erneut im Terminal aus. Jetzt können Sie die JDK-Version und das Paket sehen, falls auf Ihrem Computer vorhanden.