【问题标题】:How do I change my JDK version on Big Sur?如何在 Big Sur 上更改我的 JDK 版本?
【发布时间】:2021-03-21 09:33:16
【问题描述】:

现在我在 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。但现在它们都不起作用。我可以输入其中的任何一个,但它停留在 JDK 12。(我有不同的项目需要不同的 JDK 版本。)

现在有更好的方法吗?

【问题讨论】:

    标签: java macos-big-sur


    【解决方案1】:

    列出所有带有大写“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")
    

    【讨论】:

    • 谢谢。我不确定为什么我现在需要引号,但它有效。但它仅在未设置 JAVA_HOME 时有效。这使它使用起来更加棘手,但我能够让它工作。
    • @MiguelMunoz 对于它的价值(以及后代),您实际上并不需要引号 - 问题是您现在必须在每次设置之前unset JAVA_HOME
    猜你喜欢
    • 2021-10-26
    • 2021-04-28
    • 2020-12-27
    • 2021-06-21
    • 2021-07-03
    • 1970-01-01
    • 2020-12-31
    • 2020-04-24
    • 2021-03-13
    相关资源
    最近更新 更多