将 mac jdk 版本设置为 1.8

set mac jdk version to 1.8

我搜索了几种方法来更改 mac 上的 JDK 版本。

$/usr/libexec/java_home

我得到了

/Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home

我试过了

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

也试过

/usr/libexec/java_home 1.8.0_31 --exec javac -version

然后我运行

$echo $JAVA_HOME

/Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home

然后我重新检查 java -version

$java -version
java version "1.7.0_67"
Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)

我如何真正改变 java -版本在我的 mac.

要为您的 shell 环境 将 Java 设置为 1.8,请将其放入您的 ~/.bash_profile:

export JAVA_HOME=`/usr/libexec/java_home -v 1.8`
Solution without 3rd party tools:

将所有 JDK 保留在 /Library/Java/JavaVirtualMachines 下的默认位置。系统会默认选择最高版本。 要将 JDK 排除在默认选择之外,请将其 Contents/Info.plist 重命名为 Info.plist.disabled。 JDK 在 $JAVA_HOME 指向它时仍然可以使用,或者在脚本或配置中明确引用。它会被系统的 java 命令忽略。 系统启动器将使用具有 Info.plist 文件的最高版本的 JDK。

在 shell 中使用备用 JDK 时,请在现有答案中选择您的方法(jenv,或 /usr/libexec/java_home 周围的自定义 aliases/scripts 等)。