使用/usr/libexec/java\u home切换java home在macos升级到big sur后停止工作

prdp8dxp  于 2021-06-29  发布在  Java
关注(0)|答案(1)|浏览(339)

我有一个简单的脚本在不同的jdk版本之间切换。然而,在macos升级到bigsur之后,它就停止工作了。不确定是否与操作系统升级有关。
剧本 setjavahome.sh :

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

通常,我会打电话 . setjavahome.sh 1.8 它将把java切换到家里。但现在它什么也做不了。
如果我使用 /usr/libexec/java_home -V ,它仍然可以列出所有版本。
只是 /usr/libexec/java_home -v 停止工作。
不知道为什么它突然停止工作。

kyxcudwk

kyxcudwk1#

不是这个问题的真正答案,但至少这里有一个解决方法:

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

相关问题