我已经安装了从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版本。


当前回答

这太疯狂了!Oracle如何提供一个不安装任何东西的安装程序!?

无论如何,对我来说是:

sudo rm /usr/bin/java
sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home/jre/bin/java /usr/bin/java

1.8.0_31是你安装的Java版本…

其他回答

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

最新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版本。

因为你需要在Java Preferences窗格中输入,并以这样的方式只标记JVM 7:

要在Mac OS X中轻松快速地打开Java首选项窗格,您可以简单地使用⌘+SPACE调用spotlight,并键入系统首选项,它将显示在窗口的最后一行。

如果您安装了Homebrew,可以安装Java -switcher以更快地更改Java默认版本

brew tap andycillin/tap
brew install java-switcher

然后,只需使用一个命令就可以切换默认Java版本。

java-switcher 1.7

or

java-switcher 10

六世~ / . bash_profile

add

export JAVA_HOME= ' /usr/libexec/ JAVA_HOME -v 1.7 '

这告诉你的/usr/bin/java链接目标使用最新的Java 7包安装

/ Library / Java / JavaVirtualMachines

因此对于JDK 1.7.0_17 JAVA_HOME将是:

/ Library / Java / JavaVirtualMachines jdk1。7 . 0_17 jdk /地点/ Home。

注意:最近在这个领域有很多变化,Mac OS X从苹果自己的系统集成Java包转移到基于Oracle的Java包。上述解决方案在Mac OS X 10.8.2运行良好