如何在 Big Sur 上更改我的 JDK 版本?

How do I change my JDK version on Big Sur?

现在我在大苏尔,我不能再设置我的 jdk 了!我曾经这样做过:

$ /usr/libexec/java_home -v 15

现在它只是这样回应:

$ /usr/libexec/java_home -v 15
/Library/Java/JavaVirtualMachines/jdk-12.0.2.jdk/Contents/Home

在 Big Sur 之前,此命令将始终响应我指定版本的 jdk 路径。我的 .bash_profile 文件定义了这些别名:

alias j15="export JAVA_HOME=`/usr/libexec/java_home -v 15`; java -version"
alias j12="export JAVA_HOME=`/usr/libexec/java_home -v 12`; java -version"
alias j11="export JAVA_HOME=`/usr/libexec/java_home -v 11`; java -version"
alias j10="export JAVA_HOME=`/usr/libexec/java_home -v 10`; java -version"
alias j8="export JAVA_HOME=`/usr/libexec/java_home -v 1.8.0_212`; java -version"
alias j7="export JAVA_HOME=`/usr/libexec/java_home -v 1.7`; java -version"
j12

所以它会以 Java 12 开头,但我可以只键入 j15,它会将我的 jdk 设置为 15。但是现在 none 它们可以工作.我可以输入其中任何一个,但它停留在 JDK 12。(我有不同的项目需要不同的 JDK 版本。)

现在有更好的方法吗?

列出所有带大写字母的版本 'V':

/usr/libexec/java_home -V

我机器上的输出:

Matching Java Virtual Machines (2):
    11.0.9 (x86_64) "AdoptOpenJDK" - "AdoptOpenJDK 11" /Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home
    1.8.0_181 (x86_64) "AdoptOpenJDK" - "AdoptOpenJDK 8" /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home

选择特定版本时用引号括起来:

/usr/libexec/java_home -v "11.0.9"

设置或取消设置电流 JAVA_HOME 的修正是:

unset JAVA_HOME
export JAVA_HOME=$(/usr/libexec/java_home -v "11.0.9")