[英]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.