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


当前回答

基本问题:/usr/bin/java最初指向OSX自己提供的(/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java) 我们需要将它指向JDK安装程序下载的那个。以下步骤适用于OSX 10.10.4 Yosemite。

Open System Preferences -> select Java. The Java window opens. Click on Java tab at the top. Click on 'View' button. The Java Runtime Environment Settings tab opens as below: Double click on the Path item and copy the path (cmd+c). This is the latest one installed by the JDK installer/updater. In my case, the path was /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java Open terminal. In this step, we are going to point (symbolic link, ln -s command) the system java binary to the latest one, which we discovered in the previous step. Run the below command:

sudo ln -s /Library/Internet\ Plug-Ins/JavaAppletPlugin。插件/内容/ Home / bin / java /usr/bin/java

这是它。要验证,只需运行 java - version 在终端上。它应该输出您安装/更新到的最新版本。

其他回答

从Oracle站点通过分布式JDK DMG安装会自动更新所有内容。我已经看到(在El Capitan)更新通过系统首选项> Java做更新,但不反映到命令行。通过DMG进行安装就可以了。

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

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

brew tap andycillin/tap
brew install java-switcher

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

java-switcher 1.7

or

java-switcher 10

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

您可以在终端执行以下命令:

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

这将用新java替换旧java。