我无法在macOS BigSur中更改java版本。我有以下版本:
执行此命令时
/usr/libexec/java_home -V
我有以下版本:
Matching Java Virtual Machines (3):
11.0.8 (x86_64) "Oracle Corporation" - "Java SE 11.0.8" /Library/Java/JavaVirtualMachines/jdk-11.0.8.jdk/Contents/Home
1.8.261.12 (x86_64) "Oracle Corporation" - "Java" /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
1.8.0_261 (x86_64) "Oracle Corporation" - "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/jdk-11.0.8.jdk/Contents/Home
我想切换到java 1.8作为默认版本,所以我执行以下命令:
export JAVA_HOME=/usr/libexec/java_home -v 1.8.0_261
然后当我检查java版本时:
java -version
我还拿着旧的(高的)
java version "11.0.8" 2020-07-14 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.8+10-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.8+10-LTS, mixed mode)
为什么不管用
9条答案
按热度按时间pengsaosao1#
请使用以下命令:-
9udxz4iz2#
你必须取消设置JAVA_HOME并设置JAVA_VERSION,然后它才能工作。
或者如果需要设置JAVA_HOME,则需要在调用
/usr/libexec/java_home
之前取消设置b0zn9rqh3#
现在
/usr/bin/java
上有了新的二进制文件,它的优先级高于$JAVA_HOME/bin/java
vaj7vani4#
我一直困惑与同样的问题后,今天升级macOS到大苏尔。
我的Mac电脑上有两个JDK,Oracle JDK 11和Oracle JDK 8。
则
/usr/libexec/java_home
始终返回/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
并忽略其他参数,如-v 1.8
经过一些测试,我发现,这只发生在你的Mac有一个Oracle JDK 1.8.X版本。
所以我删除了Oracle JDK 1.8.x,
/usr/libexec/java_home
可以返回正确的JDK 11路径。然后我尝试AdoptOpenJDK 8,
/usr/libexec/java_home
可以正确返回其路径,但忽略-v 11
参数,无法获得JDK 11的路径。看起来
java_home
命令有一些错误,如果你的Mac上只有一个JDK-除了Oracle JDK 8-它应该工作正常。如果你有多个JDK,也许它只是返回最后安装的JDK路径。因此,只保留一个JDK安装或使用绝对路径设置
$JAVA_HOME
env都可以。kyxcudwk5#
在我看来,命令
"/usr/libexec/java_home -v"
不起作用。我解决了直接导出文件.bash_profile中的java路径的问题:然后执行以下命令:
然后使用以下命令:echo $JAVA_HOME我看到JVM路径设置正确。
neskvpey6#
我已经在我的. zshev上添加了以下内容,它运行得很好。谢谢munan。
要从控制台更改java版本,请用途:Java 8或Java 11
6ju8rftf7#
更新:Mac操作系统13.1
当您安装openjdk版本时(除了系统/默认安装的版本之外),例如:
(in至少在我的情况下)默认情况下,它没有链接到正确的位置。您需要按照下面的说明符号链接它
这样,当您运行
/usr/libexec/java_home -V
时,您将看到所有已安装的版本选择正确的变量就像设置env变量
$JAVA_HOME
一样简单运行
java --version
确认:f1tvaqid8#
我按照以下步骤修复了在macOS BigSur中设置Java版本所需的问题:
执行此命令时
我有以下版本:
/usr/本地/存储单元/openjdk/17/libexec/openjdk. jdk/目录/主页
然后,我想切换到java 1.8作为默认版本,所以我执行了以下命令:
然后当我检查java版本时:
我还在拿旧的(高的)
~/.profile
文件看起来像然后我查了一下
然后我在
~/.profile
文件中添加了新的JAVA_HOME
,执行了它,
现在java指向
1.8.0_292
要再次回退到
openjdk 17
,我只需要删除一行,再加上,
执行了它,
rur96b6h9#
我也是,太烦人了,他给我带来了麻烦。他似乎是通过设置'$JAVA_VERSION'解决。请使用以下命令:-