简体   繁体   English

在 MacOS 升级到 Big Sur 后,使用 /usr/libexec/java_home 切换 java 家庭停止工作

[英]Switch java home using /usr/libexec/java_home stop working after MacOS upgrade to Big Sur

I have a simple script to switch between different JDK versions.我有一个简单的脚本可以在不同的 JDK 版本之间切换。 However, after MacOs upgrade to Big Sur, it stop working.但是,在 MacOs 升级到 Big Sur 后,它就停止工作了。 Not sure if it's related to OS upgrade or not.不确定它是否与操作系统升级有关。

The script setjavahome.sh :脚本setjavahome.sh

export JAVA_HOME=`/usr/libexec/java_home -v $1`
export PATH=$JAVA_HOME/bin:$PATH

Usually, I call . setjavahome.sh 1.8通常,我打电话给. setjavahome.sh 1.8 . setjavahome.sh 1.8

It will switch java home.它将 java 切换回家。 But now it doesn't do anything.但现在它什么也没做。

If I use /usr/libexec/java_home -V , it's still able to list all the versions.如果我使用/usr/libexec/java_home -V ,它仍然能够列出所有版本。

Just /usr/libexec/java_home -v stop working.只是/usr/libexec/java_home -v停止工作。

Not sure why it suddently stop working.不知道为什么它突然停止工作。

Not really an answer to this question, but at least here's a workaround:不是这个问题的真正答案,但至少这里有一个解决方法:

PROGRAM="{ if (\$1 ~ \"^$1.*\") print \$NF }"
export JAVA_HOME=`/usr/libexec/java_home -V 2>&1 | awk "$PROGRAM"`

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 PySpark:“/usr/libexec/java_home/bin/java:不是目录”(macOS Big Sur) - PySpark: "/usr/libexec/java_home/bin/java: Not a directory" (macOS Big Sur) 升级到 macOS Big Sur v11.0.1 后 JAVA_HOME 错误 - Wrong JAVA_HOME after upgrade to macOS Big Sur v11.0.1 /usr/libexec/java_home 返回错误时,如何在 MacOS Monterey 中设置 JAVA_HOME? - How to set JAVA_HOME in MacOS Monterey when /usr/libexec/java_home returns an error? 在 MacOS Big Sur 上导出到 $JAVA_HOME 时出现权限错误 - Permission Error When Exporting to $JAVA_HOME on MacOS Big Sur 为什么命令 /usr/libexec/java_home 不起作用? - Why command /usr/libexec/java_home doesn't work? 运行 /usr/libexec/java_home 给出无效目录? - Running /usr/libexec/java_home gives invalid directory? 如何将 /usr/libexec/java_home 指向自定义 jdk 安装? - How to point /usr/libexec/java_home to custom jdk installation? 使 export JAVA_HOME=`/usr/libexec/java_home -v 1.8` 永久化 - Make export JAVA_HOME=`/usr/libexec/java_home -v 1.8` permanent mvn -version错误:我们无法执行/ usr / libexec / java_home / bin / java - mvn -version error: We cannot execute /usr/libexec/java_home/bin/java /usr/libexec/java_home -v<version> 找到正确的 JDK 版本,但仅在第一次更新</version> - /usr/libexec/java_home -v <version> finds the right JDK version but updates it only the first time
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM