2012-06-03 66 views
32

我在我的mac osx 10.7.3中遇到了Java的可悲问题。 以前我安装它,它工作正常。 在时间过程中的.bash_profile和.profile文件中的一些变化后, 我有喜欢无法在“/ usr/bin/java/bin/java”找到可执行文件(-1)

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

的错误,每当我尝试运行在我的终端“的javac”或者“Java”的。

echo $PATH给人等的输出:

/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 

我.bash_profile文件看起来像:

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

输出which java

/usr/bin/java 

其窃听我长天,卸载和安装的java没有帮助我的运气。

我是Mac的新手,需要帮助解决这个问题。

在发布这个问题之前用谷歌搜索和看到了SOF,但没有找到任何特定于我的问题。

感谢

Sabya

+3

我对-1没有理解。你可以解释一下吗? – Sabya

回答

67

十分肯定,export JAVA_HOME=/usr/bin/java是罪魁祸首。这个env var应指向JDK或JRE安装目录。谷歌搜索显示,MacOS X的最佳选择似乎是export JAVA_HOME=/Library/Java/Home

+2

导出JAVA_HOME =/Library/Java/Home .bash_profile完美运行。感谢您的帮助。 :-) – Sabya

+14

矿被安装到'/ Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home'。 – cloudrave

+1

这对我来说也很完美,虽然我不明白。如果你至于“哪个java”控制台返回/ usr/bin/java,那么为什么我们必须设置不同的路径? – Loebre

9

JAVA_HOME不是java可执行文件的名称。但是在目录中,安装了java。可执行文件应该是$JAVA_HOME/bin/java

which命令对您没有帮助。它不会给你java家,但很可能这只是一个包装或符号链接到安装在一个非常不同的目录中的java。

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

因为:

$ 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/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

我也遇到过同样的问题,看完这篇文章后,我再次检查了的定义.bash_profile。它实际上是:

export JAVA_HOME=$(which java) 

的是,正是因为Anony-Mousse的解释,是可执行文件。将其更改为:

export=/Library/Java/Home 

修复了这个问题,但仍然有兴趣了解为什么它在配置文件中以这种方式进行评估。

相关问题