【发布时间】:2020-11-13 06:33:17
【问题描述】:
tl,博士;
执行 export JAVA_HOME=$(/usr/libexec/java_home -v 14) 一次 JAVA_HOME 已经设置不会改变活动 java
步骤
- 首先设置
JAVA_HOME(例如export JAVA_HOME=$(/usr/libexec/java_home -v 11)):
$ echo ${JAVA_HOME}
/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home
$ java -version
openjdk version "11.0.8" 2020-07-14
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.8+10)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.8+10, mixed mode)
- 尝试将其设置为不同的版本(例如
export JAVA_HOME=$(/usr/libexec/java_home -v 14)) - 它仍然使用以前设置的java(即使JAVA_HOME已更新):
$ echo ${JAVA_HOME}
/Library/Java/JavaVirtualMachines/adoptopenjdk-14.jdk/Contents/Home
$ java -version
openjdk version "11.0.8" 2020-07-14
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.8+10)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.8+10, mixed mode)
我不知道为什么它现在不工作 - 前一段时间它工作得很好(我会说 2-3 个月前)
有一个看似相似的主题(Can't set JAVA_HOME on Catalina),但归结为不同的外壳。就我而言,我使用的是相同的 shell - 来自 brew 的 bash:
$ bash -version
GNU bash, version 5.0.18(1)-release (x86_64-apple-darwin19.5.0)
Copyright (C) 2019 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
【问题讨论】:
-
我对macos了解不多,但是有没有等效于window的
PATHenv变量以便找到java命令? -
有,但之前它会自动更新以反映更新的
JAVA_HOME(如果您想在当前 shell 中快速切换活动的java版本,这非常方便)