Es kann keine ausführbare Datei unter „/usr/bin/java/bin/java“ gefunden werden

Ich habe ein Problem mit Java auf meinem Mac (OS X 10.7.3). Vorher habe ich es installiert und es hat gut funktioniert. Nach einigen Änderungen in der .bash_profile- und .profile-Datei im Laufe der Zeit habe ich einen Fehler, wenn Unable to locate an executable at "/usr/bin/java/bin/java"ich versuche, "javac" oder "java" in meinem Terminal auszuführen.

echo $PATHgibt eine Ausgabe wie:

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Users/sabya/Documents/Play_Framework/play-2.0:/usr/X11/bin:/usr/local/git/bin:/usr/local/mysql/bin

Mein .bash_profile sieht so aus:

alias start_mysql="/Library/StartupItems/MySQLCOM/MySQLCOM start"
alias stop_mysql="/Library/StartupItems/MySQLCOM/MySQLCOM stop"
export JAVA_HOME=/usr/bin/java

Es nervt mich seit mehreren Tagen und die Neuinstallation von Java hat nicht geholfen. Ich bin ein Mac-Neuling und brauche Hilfe, um dieses Problem zu lösen. Ich habe vor dem Posten dieser Frage gegoogelt, aber nichts Relevantes gefunden.

Antworten (1)

Sie können wahrscheinlich einfach die Definition von JAVA_HOME entfernen .bash_profileund die Shell neu starten. Wenn Sie die Variable wirklich setzen müssen, verwenden Sie

export JAVA_HOME=$(/System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/java_home)

abhängig von der installierten JDK-Version oder dynamisch zu definieren

export JAVA_HOME=/Library/Java/Home

um den Standardort zu verwenden (der symbolisch mit dem obigen Pfad verknüpft ist).

Ein weiterer Trick funktionierte. Ich habe gerade das .bash_profile bearbeitet und das JAVA_HOME als export JAVA_HOME=/Library/Java/Home exportiert. Es löste das Problem.
In der Tat :-) Es ist ein symbolischer Link, der (nach einigen weiteren Umleitungen) zum selben Ort führt. Ich habe die Antwort entsprechend erweitert.
Häufig wird JAVA_HOME nicht einmal benötigt