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


当前回答

Jenv,我可以建议你看看这个工具吗

这将允许您随时在已安装的jvm之间切换。

仅仅是:

jenv global oracle-1.7

之后为了测试目的:

jenv global oracle-1.6

你有更多的命令可用。

其他回答

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

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

如果你的机器上有几个Java版本,你想在运行时动态地选择它,也就是说,在我的情况下,我有两个版本:

ls -la /Library/Java/JavaVirtualMachines
drwxr-xr-x  3 root  wheel    96B Nov 16  2014 jdk1.7.0_71.jdk/
drwxr-xr-x  3 root  wheel    96B Mar  1  2015 jdk1.8.0_31.jdk/

您可以通过修改/etc/profile内容来更改它们。只需在文件末尾添加(或修改)以下两行:

export JAVA_HOME=YOUR_JAVA_PATH/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

在我的情况下,如果我想使用,它应该如下所示:

Java 7:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

Java 8:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

保存文件后,请运行source /etc/profile,它应该可以工作。以下是我使用第一种和第二种选择时的结果:

Java 7:

java -version
java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b14)

Java 8:

java -version 
java version "1.8.0_31"
Java(TM) SE Runtime Environment (build 1.8.0_31-b13)

如果您的java文件夹位于不同的位置,这个过程是类似的。

硬编码JAVA_HOME路径可能不是最好的主意。/usr/libexec/java_home实用程序在Mac OSX Lion 10.7.5和JDK 1.7.0_13上仍然适用。根据它的手册页,它是用来与苹果旧的Java首选项窗格一起使用的,但它似乎与Oracle提供的替代品(Java控制面板)一起工作。例如,运行/usr/ libeexec /java_home -V列出所有已安装的jdk(都是1.6. exe)。*和1.7.*)在我的机器。

因此,正如在其他线程中讨论的那样(例如,我应该在OSX上将JAVA_HOME设置为什么),我仍然建议在你的.bash_profile中添加以下行:

export JAVA_HOME=$(/usr/libexec/java_home)

发生这种情况是因为.bash_profile没有反映变化。要反映它,只需使用下面的命令

$ source .bash_profile

六世~ / . 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运行良好