Mac OS X 中的命令行终端显示错误的 Java 版本

Mac OS X 中的命令行终端显示错误的 Java 版本

我已经在 Mac 上安装了 Java 1.7

/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home

在命令行中我将 Java 版本设置为

export JAVA_HOME='/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home'

现在当我这样做java -version

它显示正确的 Java 版本 'java 1.7'

但是,当我打开一个新终端并执行时java -version

它再次显示错误的 Java 版本'java 1.8' // 我需要为某些应用程序使用 Java 1.7

如何确保每次打开终端时都显示正确的 Java 版本?

答案1

听起来你已经安装了两者(OSX Yosemite iirc 默认安装 1.8)尝试将 1.7 添加到你的 java --alternatives 中或使用定义的路径(符号链接非常适合这种情况)

答案2

尝试

which java

这应该会告诉您可执行文件的位置。我同意 linuxdev2013 的观点,您很可能安装了多个版本。我猜想较新的版本可能在您的路径中。

答案3

您可以在终端内动态切换已安装的 JDK 版本,使用方法如下;

export JAVA_HOME=`/usr/libexec/java_home -v '1.6*'`
export JAVA_HOME=`/usr/libexec/java_home -v '1.7*'`
export JAVA_HOME=`/usr/libexec/java_home -v '1.8*'`

(使用相同的命令来~/.bash_profile设置所需的默认值!)

相关内容