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
MatchingJavaVirtualMachines(2):1.8.0_51, x86_64:"Java SE 8"/Library/Java/JavaVirtualMachines/jdk1.8.0_51.jdk/Contents/Home1.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:
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
#Dothisif 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>]FilterJava versions in the "JVMVersion" form 1.X(+ or *).[-a/--arch <architecture>]FilterJVMs matching architecture (i386, x86_64, etc).[-d/--datamodel <datamodel>]FilterJVMs 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 JavaRuntimeif 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.
-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
Geben Sie einfach ein javac. Wenn es installiert ist, erhalten Sie Nutzungsinformationen, andernfalls werden Sie nur gefragt, ob Sie Java installieren möchten.
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.
Antworten:
javac -version
in einem Terminal reicht ausquelle
Sie können die
java_home
Helfer-BinärdateiOS X
für das nutzen, wonach Sie suchen.So listen Sie alle Versionen des installierten JDK auf:
Um den JAVA_HOME-Pfad einer bestimmten JDK-Version anzufordern, haben Sie folgende Möglichkeiten:
Sie können die oben genannten Befehle in Ihrem Skript folgendermaßen nutzen:
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.
quelle
Geben Sie ein Terminal ein:
Es sollte dir so etwas zeigen
quelle
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:
Ich habe dies auch manuell überprüft, indem ich auf meinem Mac zum Java-Ordner navigiert habe
quelle
/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:
quelle
Geben Sie einfach ein
javac
. Wenn es installiert ist, erhalten Sie Nutzungsinformationen, andernfalls werden Sie nur gefragt, ob Sie Java installieren möchten.quelle
Stellen Sie sicher, dass Sie das JDK des Projekts richtig definiert haben, und starten Sie IntelliJ neu (vollständiger Neustart).
quelle
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.quelle