将 mac jdk 版本设置为 1.8

2022-09-03 03:26:56

我已经搜索了几种在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版本

$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)

我如何才能真正在我的Mac上更改java版本。


答案 1

要将 Shell 环境的 Java 设置为 1.8,请将以下内容放在 ~/.bash_profile:

export JAVA_HOME=`/usr/libexec/java_home -v 1.8`

答案 2
Solution without 3rd party tools:

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

在带有备用 JDK 的 shell 中工作时,请在现有答案(jenv 或 /usr/libexec/java_home 等周围的自定义别名/脚本)中选择您的方法。