Ich habe das Java 8 SDK (mit Update 25 für JRE) von der Oracle Java-Site mithilfe der Anweisungen auf dieser Seite installiert
%Vor% und lege die folgende Zeile in mein ~/.bash_profile
aber wenn ich versuche, ein Java-Programm in Bash zu kompilieren oder auszuführen, erhalte ich die folgende Nachricht
%Vor%und dieses Fenster
%Vor% Ich habe /usr/libexec/java_home
ausgeführt, um zu überprüfen:
Aber die JRE ist in
%Vor%und der JRE-Speicherort in den Systemeinstellungen zeigt auf
%Vor% Ich weiß nicht, wo das Problem liegt, aber usr/bin/javac
und /usr/bin/java
können den korrekten JVM-Speicherort in /System/Library/Frameworks/JavaVM.framework/Versions/Current
nicht finden.
Sie müssen einige Backticks hinzufügen:
%Vor% Der Befehl /usr/libexec/java_home
gibt den richtigen Wert für JAVA_HOME
auf seiner Standardausgabe aus. Sie müssen diesen Wert mit Backticks erfassen, damit Sie ihn in der Variablen speichern können.
Aber die JRE befindet sich in /System/Library/Frameworks/JavaVM.framework/Versions/Current
Nein, ist es nicht. Das Oracle JRE installiert sich selbst unter /Library/Internet Plug-Ins
, das Oracle JDK installiert sich unter /Library/Java/JavaVirtualMachines
. Die Binärdateien unter /usr/bin
und /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands
sind Stubs, die an das JDK delegieren, auf das Ihre Variable JAVA_HOME
zeigt.
Ich habe mehrere Lösungen ausprobiert, mehrere sdk heruntergeladen, aber Android Studio erkannte sie nicht als gültige sdks.
Schließlich war die Workaround, die für mich funktionierte:
Tags und Links java macos osx-yosemite