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


当前回答

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

其他回答

基本问题:/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 在终端上。它应该输出您安装/更新到的最新版本。

我用 Sudo rm /usr/bin/java

我下载并安装了最新的Java SE Runtime Environment: http://www.oracle.com/technetwork/java/javase/downloads/index.html

sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_31.使用实例jdk/Contents/Home/jre/bin/java /usr/bin/java不适合我,因为我得到了操作不允许。El Capitan现在以“无根”模式保护某些系统目录(又名系统完整性保护)。它适用于macOS Sierra,可能在可预见的未来也适用于新的macOS版本。

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

你可以运行这个命令来找到/Library/Internet Plugins/下的Java版本:

defaults read /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Info.plist CFBundleVersion

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

brew tap andycillin/tap
brew install java-switcher

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

java-switcher 1.7

or

java-switcher 10