我已经安装了从oracle网站下载的JDK 7u7。但是安装完成后,终端仍然显示java版本6

$java -version
java version "1.6.0_35"
Java(TM) SE Runtime Environment (build 1.6.0_35-b10-428-11M3811)
Java HotSpot(TM) 64-Bit Server VM (build 20.10-b01-428, mixed mode)

你知道为什么Java 7没有出现吗?

答: 好的,问题已经解决了。以下是答案: 我发现我的终端有一个.bash_profile, java主变量被设置为1.6

export JAVA_HOME="/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home"

所以这就是每次我打开新终端窗口时导致问题的行。 只要去掉这条线就能解决问题。您仍然需要遵循@aleroot所说的,但如果这对您不起作用,请检查.bash_profile(或.bashrc)设置文件,以查看您之前是否导出过任何java版本。


当前回答

因为我还没有面对过这个问题,我有一种预感——

你能试试这个吗:

软链接“java_home”指向哪里:

ls -lrt /usr/libexec/java_home

输出:(发育不良) lrwxr-xr-x java_home -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java_home . zip

**ls -lrt /System/Library/Frameworks/JavaVM.framework/Versions 我的MAC产生以下:

 lrwxr-xr-x CurrentJDK ->
 /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents**

 lrwxr-xr-x   Current -> A
 lrwxr-xr-x  1 root  wheel   10 Oct 18 14:39 1.6.0 -> CurrentJDK
 lrwxr-xr-x  1 root  wheel   10 Oct 18 14:39 1.6 -> CurrentJDK
 lrwxr-xr-x  1 root  wheel   10 Oct 18 14:39 1.5.0 -> CurrentJDK
 lrwxr-xr-x  1 root  wheel   10 Oct 18 14:39 1.5 -> CurrentJDK
 lrwxr-xr-x  1 root  wheel   10 Oct 18 14:39 1.4.2 -> CurrentJDK
 lrwxr-xr-x  1 root  wheel   10 Oct 18 14:39 1.4 -> CurrentJDK

基于此,我们可能会得到进一步进行的提示?

其他回答

我认为你可以尝试安装jdk而不是jre。通过安装jdk, /usr/bin/java中的java将被替换,所有库将正常工作。

http://www.java.com/en/download/faq/java_mac.xml是一个很好的地方来理解,当苹果停止支持Java时,为什么Java首选项不再存在,而依赖System_Preferences => Java => Java,如果安装了来自Oracle的Java 7。

最新100%有效的方法:

在bash中:

vim ~/.bash_profile

add

export PATH="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin:$PATH"

:wq保存 Cmd +q强制退出bash 再次打开bash,并输入Java -version

但实际上这个路径指向jre而不是jdk。

如果您想将路径指向JDK,则需要

确保您已经安装了JDK,而不是一个JRE运行时 替换之前的路径为path ="/Library/Java/JavaVirtualMachines/jdk1.8.0_221. "jdk”,你可以去/Library/Java/JavaVirtualMachines确保你已经安装了你想要的jdk版本。

简单的解决方案

export PATH="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin:$PATH"

Oracle的安装程序将java放在/Library/Internet plug - in /JavaAppletPlugin.plugin中。它不会覆盖/usr/bin/java.所以,如果你发行一个

whereis java

在终端中,它将返回/usr/bin/java.(反过来指向/System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/java,这是苹果的1.6版本)。

所以,如果你想使用新的java版本,替换/usr/bin/java符号链接,使其指向/Library/Internet\ Plug-Ins/JavaAppletPlugin。插件/内容/ Home / bin / java相反:

sudo rm /usr/bin/java
sudo ln -s /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java /usr/bin