402 Stimmen

Was ist der Pfad von JDK auf Mac?

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.

759voto

Marko Topolnik Punkte 188258

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:

  1. führen Sie aus

    which java
  2. wenn Ihnen etwas wie /usr/bin/java gibt, das ein symbolischer Link zum tatsächlichen Speicherort ist, führen Sie aus

    ls -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;

  3. wenn usr/bin/java auf einen anderen symbolischen Link verweist, wenden Sie den gleichen Ansatz rekursiv an mit

    ls -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.

39voto

Chetan Gole Punkte 673

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

27voto

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

8voto

gefei Punkte 18574

Auf meinem Mac:

/System/Library/Frameworks/JavaVM.framework/Home/

Übrigens, hast du which java versucht?

6voto

kdabir Punkte 9510

/System/Bibliotheken/Rahmen/JavaVM.framework/

Siehe auch Java 7 Pfad auf Mountain Lion

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X