webentwicklung-frage-antwort-db.com.de

Kann eine ausführbare Datei unter "/ usr/bin/Java/bin/Java" (-1) nicht finden

Ich habe ein pathetisches Problem mit Java in meinem Mac osx 10.7.3 . Vorher habe ich es installiert und es funktionierte einwandfrei ..__ Nach einigen Änderungen in der .bash_profile und der .profile-Datei im Laufe der Zeit. Ich habe einen Fehler wie 

Unable to locate an executable at "/usr/bin/Java/bin/Java"

immer wenn ich versuche, "javac" oder "Java" in meinem Terminal auszuführen.

echo $PATH gibt eine Ausgabe wie folgt aus:

/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 folgendermaßen aus:

alias start_mysql="/Library/StartupItems/MySQLCOM/MySQLCOM start"
alias stop_mysql="/Library/StartupItems/MySQLCOM/MySQLCOM stop"
export Java_HOME=/usr/bin/Java

Ausgabe von which Java

/usr/bin/Java

Seine langwierigen Probleme und das Deinstallieren und Installieren von Java haben meinem Glück nicht geholfen.

Ich bin ein Neuling in Mac und brauche Hilfe, um dieses Problem zu lösen.

Googled und sah SOF vor dem Posten dieser Frage, fand aber nichts Spezifisches für mein Problem.

Vielen Dank 

Sabya

41
Sabya

Mit Sicherheit ist export Java_HOME=/usr/bin/Java der Schuldige. Diese Env-Variable sollte auf das JDK- oder JRE-Installationsverzeichnis verweisen. Beim Googeln scheint export Java_HOME=/Library/Java/Home die beste Option für MacOS X zu sein.

80

Java_HOME ist nicht der Name der Java-Programmdatei . Aber von dem Verzeichnis wurde Java installiert. Die ausführbare Datei sollte $Java_HOME/bin/Java sein.

Der Befehl which ist dort nicht hilfreich für Sie. Es gibt Ihnen zwar kein Java-Zuhause, aber höchstwahrscheinlich handelt es sich nur um einen Wrapper oder Symlink zu Java, der in einem anderen Verzeichnis installiert ist.

10
Anony-Mousse
export Java_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home

Weil:

 $ find /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home -name Java*
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/bin/Java
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/bin/javac
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/bin/javadoc
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/bin/javafxpackager
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/bin/javah
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/bin/javap
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/bin/javapackager
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/javafx-src.Zip
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/bin/Java
8
abc

ich habe das gleiche Problem erlebt, und nachdem ich diesen Beitrag gelesen habe, habe ich die Java_HOME-Definition in .bash_profile noch einmal überprüft. Es ist eigentlich:

export Java_HOME=$(which Java)

das, genau wie Anony-Mousse erklärt, ist die ausführbare Datei. Ändern Sie es in:

export=/Library/Java/Home

behebt das Problem, es ist immer noch interessant zu verstehen, warum es in der Profildatei so bewertet wird.

0
Bruno Ripa