我正在尝试将机器上的默认java版本从版本15(即OpenJDK15.0.1)更改为版本11(即OpenJDK11.0.2)。我关注了网上提供的各种解决方案,但归根结底,我只想得到以下结果:
$ java --version
openjdk 11.0.9 2020-10-20
OpenJDK Runtime Environment (build 11.0.9+9)
OpenJDK 64-Bit Server VM (build 11.0.9+9, mixed mode, sharing)
但是相反,我得到:
$ java --version
openjdk 15.0.1 2020-10-20
OpenJDK Runtime Environment (build 15.0.1+9)
OpenJDK 64-Bit Server VM (build 15.0.1+9, mixed mode, sharing)
我找到的大多数解决方案都建议给我的 JAVA HOME
环境变量(在线和在线 .bash_profile
),截至目前,我有:
$ echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk-11.0.9.jdk/Contents/Home
甚至移除 jdk-15.0.1.jdk
完全来自 /Library/Java/JavaVirtualMachines/
似乎什么都没变。因此,这个jdk必须在其他地方定义和使用,它的存在将覆盖我在我的文档中放置的任何东西 .bash_profile
文件。以前有其他人经历过吗?这种变化可能吗?
2条答案
按热度按时间bbmckpt71#
确保你的第一行
.bash_profile
谈论的文件JAVA_HOME
这是:你可以跑了
/usr/libexec/java_home -V
查看所有已安装java虚拟机的列表。在我的机器上,我有以下内容(我的看起来略有不同,因为这个输出来自big sur):最底层的线条(在catalina可能不存在,但你可以通过运行
/usr/libexec/java_home
是当前选定的jvm。v6ylcynt2#
原来这个问题在我的范围内
.bash_profile
. 虽然我不确定是否每个人都是这样,但我的PATH
环境变量设置取代了我的JAVA_HOME
环境变量PATH
变量有我的引用JAVA_HOME
内部变量。通过在我的.bash_profile
文件。如果
JAVA_HOME
是唯一添加的变量,那么下面的操作就可以了。如果还有其他人,那么这应该是可行的。
谢谢大家的帮助!