2012-06-03 4 views
32

Ich habe ein erbärmliches Problem mit Java in meinem Mac OSX 10.7.3. Früher habe ich es installiert und es hat gut funktioniert. Nach einigen Veränderungen in der .bash_profile und Datei .profile im Laufe der Zeit, ich einen Fehler habe wieKonnte eine ausführbare Datei unter "/ usr/bin/java/bin/java" (-1) nicht finden

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

wenn ich versuche, „javac“ oder „Java“ in meinem Terminal zu laufen.

echo $PATH gibt 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 wie folgt aussieht:

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 mich für lange Tage nerven und zu deinstallieren und die Installation Java hat mir nicht geholfen.

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

Google gegoogelt und sah SOF vor dem Posten dieser Frage, aber nichts zu meinem Problem zu finden.

Dank

Sabya

+3

Ich habe nicht über die -1 verstanden. Kannst du es erklären? – Sabya

Antwort

67

sicherlich die meisten, export JAVA_HOME=/usr/bin/java ist der Schuldige. Diese env var sollte auf das JDK- oder JRE-Installationsverzeichnis verweisen. Googeln zeigt, dass die beste Option für MacOS X export JAVA_HOME=/Library/Java/Home zu sein scheint.

+2

Export JAVA_HOME =/Bibliothek/Java/Home in .bash_profile hat perfekt funktioniert. Danke für die Hilfe. :-) – Sabya

+14

Mine wurde installiert nach '/ Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home'. – cloudrave

+1

Das hat auch für mich perfekt funktioniert, obwohl ich es nicht verstehe. Wenn Sie als "which java" die Konsole/usr/bin/java zurückgibt, warum müssen wir einen anderen Pfad festlegen? – Loebre

9

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

Der which Befehl ist nicht hilfreich für Sie dort. Es gibt Ihnen nicht das Java-Home, aber höchstwahrscheinlich ist dies nur ein Wrapper oder Symlink zu Java, der in einem ganz anderen Verzeichnis installiert ist.

4
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home 

Denn:

$ 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/ Startseite/bin/javafxpackager /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Ho me/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

0

Ich habe das gleiche Problem aufgetreten ist, und dieses Amt nach der Lektüre ich habe doppelt geprüft, die JAVA_HOME Definition in .bash_profile. Es ist eigentlich:

export JAVA_HOME=$(which java) 

dass, genau wie Anony-Mousse ist zu erklären, die ausführbar ist. Ändern Sie es an:

export=/Library/Java/Home 

das Problem behebt, ist tho noch interessant zu verstehen, warum es auf diese Weise in der Profildatei bewertet wird.

Verwandte Themen