Ich benutze nur Mac bei der Arbeit und ich muss JAVA_HOME auf den richtigen Pfad von JDK setzen. Ich habe JDK heruntergeladen, installiert und jetzt kann ich es nirgendwo finden. Ich habe im Internet nach der Lösung gesucht, aber es gibt keinen Ordner Libraries/Java.
Antworten
Zu viele Anzeigen?Der Standort hat sich von Java 6 (bereitgestellt von Apple) auf Java 7 und höher (bereitgestellt von Oracle) geändert. Der beste generische Weg, um dies herauszufinden, ist auszuführen
/usr/libexec/java_home
Dies ist der nativ unterstützte Weg, um sowohl den Pfad zur Standard-Java-Installation als auch alle alternativen Installationen zu finden.
Wenn Sie sich den Hilfetext ansehen (java_home -h
), werden Sie feststellen, dass Sie dieses Befehl verwenden können, um zuverlässig ein Java-Programm auf OS X zu starten (java_home --exec ...
), mit der Möglichkeit, die gewünschte Java-Version und Architektur explizit anzugeben oder sogar den Benutzer um dessen Installation zu bitten, falls sie fehlt.
Ein eher einfacherer Ansatz, aber einer, der Ihnen dabei hilft, genau zu ermitteln, welche Java-Installation der Befehl java
auflöst, sieht folgendermaßen aus:
-
führen Sie aus
which java
-
wenn Ihnen etwas wie
/usr/bin/java
gibt, das ein symbolischer Link zum tatsächlichen Speicherort ist, führen Sie ausls -l `which java`
Auf meinem System gibt dies aus
/usr/bin/java -> /Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home/bin/java
und von dort aus können Sie das Java-Stammverzeichnis ablesen;
-
wenn
usr/bin/java
auf einen anderen symbolischen Link verweist, wenden Sie den gleichen Ansatz rekursiv an mitls -l
Eine wichtige Variation ist die Einrichtung, die Sie erhalten, wenn Sie zuerst Apples Java installieren und später Oracles. In diesem Fall wird Schritt 2 oben Ihnen geben
/usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Commands/java
und dieses spezielle java
Binärdatei ist ein Platzhalter, der den eigentlichen java
Befehl aufruft, indem er die Umgebungsvariable JAVA_HOME
konsultiert und, wenn sie nicht gesetzt ist oder nicht auf ein Java-Stammverzeichnis zeigt, auf das Aufrufen von java_home
zurückgreift. Es ist wichtig, dies im Hinterkopf zu behalten, wenn Sie Ihre Einrichtung debuggen.
Welche Mac-Version verwenden Sie? Versuchen Sie diese Pfade:
/System/Library/Frameworks/JavaVM.framework/ ODER
/usr/libexec/java_home
Dieser Link könnte hilfreich sein - Wie man die $JAVA_HOME-Umgebungsvariable auf Mac OS X festlegt
Schauen Sie nach und sehen Sie, ob das JDK unter:
Bibliothek/Java/JavaVirtualMachines/ Oder /System/Bibliothek/Java/JavaVirtualMachines/
Überprüfen Sie diesen früheren SO-Beitrag: JDK auf OSX 10.7 Lion
/System/Bibliotheken/Rahmen/JavaVM.framework/
Siehe auch Java 7 Pfad auf Mountain Lion