gpt4 book ai didi

java -version 不变

转载 作者:行者123 更新时间:2023-12-05 03:44:48 28 4
gpt4 key购买 nike

我在使用 zsh 运行 Big Sur 11.2 的 Mac 上更改运行的 java 版本时遇到问题。我想将 Java 1.8 设置为默认设置,因此我使用以下命令设置 JAVA_HOME:

$ unset JAVA_HOME
$ export JAVA_HOME=$(/usr/libexec/java_home -v "1.8.0_281")
$ echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.8.0_281.jdk/Contents/Home

但是,当我运行 java -version 时,我一直将 JDK 15 作为当前默认值。然后我从 JavaVirtualMachines 目录中删除了 jdk15 并重复了 JAVA_HOME 的设置,但我继续观察到相同的结果。

最佳答案

到目前为止,其他答案都在谈论 $PATH。这是一条红鲱鱼; /usr/bin/java 在路径上,它应该保留在路径上,它是一个轻量级的包装器,用于您实际选择的 java 安装。

推荐的策略是直接用工具帮你解决这个问题,比如jEnv .如果有,请通过 brew 安装它,否则,请按照网站上的说明进行操作。

如果您不想使用 jEnv 的既定路线,不推荐的路线确实是搞乱 JAVA_HOME。 /usr/bin/java 将使用 /usr/libexec/java_home 中的任何默认设置。 java_home 将遵循 JAVA_HOME(环境变量)所说的内容;只有当它未设置时,它才会为您提供自己的默认值,这通常是最新安装的,否则很难更改。

它对你不起作用的事实表明你有一些不同类型的 shell,或者 java_home 没有列出 java 版本,或者你在一些非常重要的地方弄乱了 PATH激烈的方式(将涉及从您的 mac 磁盘等中删除安全控制),所以我怀疑是这样 - 仔细检查您到目前为止所做的事情?您使用的是哪个 Mac 版本?

来自 mac 的示例:

/usr/libexec/java_home
> /Library/Java/JavaVirtualMachines/adoptopenjdk-14.jdk/Contents/Home
java -version
> openjdk version "14.0.1" 2020-04-14

/usr/libexec/java_home -v 1.8
> /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
export JAVA_HOME=/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home

/usr/libexec/java_home
> /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
java -version
> openjdk version "1.8.0_252"

关于java -version 不变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66249928/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com