【问题标题】:Failed to switch JDK version on Mac在 Mac 上切换 JDK 版本失败
【发布时间】:2020-09-15 05:47:10
【问题描述】:

我尝试了几种方法将我在 mac 上的 JDK 版本从 13.0.2 切换到 14.0.1,但都失败了。 首先我输入了

/usr/libexec/java_home -V 它返回:

Matching Java Virtual Machines (4):
14.0.1, x86_64: "AdoptOpenJDK 14"   /Library/Java/JavaVirtualMachines/adoptopenjdk-14.jdk/Contents/Home
14.0.1, x86_64: "Java SE 14.0.1"    /Library/Java/JavaVirtualMachines/jdk-14.0.1.jdk/Contents/Home
1.8.0_252, x86_64:  "AdoptOpenJDK 8"    /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
1.8.0_211, x86_64:  "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_211.jdk/Contents/Home

然后我添加了

导出 JAVA_HOME= $(/usr/libexec/java_home -v 14.0.1)

在 bash 文件中,在我输入的新终端中

java-版本

它仍然返回:

Openjdk version "13.0.2" 2020-01-14
OpenJDK Runtime Environment (build 13.0.2+8) 
OpenJDK 64-Bit Server VM (build 13.0.2+8, mixed mode, sharing)

我哪里做错了?

编辑 当我输入

哪个java 它返回:

/usr/local/opt/openjdk/bin/java

【问题讨论】:

标签: java


【解决方案1】:

试试这个(对我有用):

export JAVA_HOME=`/usr/libexec/java_home -v 14`

如果我像你一样尝试使用完全拼写的版本,它就行不通了。

【讨论】:

  • 现在我仔细观察,我意识到您的设置有一些更严重的问题。就像它从哪里获取 v13 一样?! ls -l /usr/bin/java 是否显示正确的路径? (即/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java)?
  • 是的,该命令显示 lrwxr-xr-x '1 root wheel 74 Oct 21 2019 /usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands /java'
【解决方案2】:

您可以使用alternatives选项切换版本:

之后 - 你会看到选择的版本。

【讨论】:

  • 谢谢,但是这个命令返回:sudo: Alternatives: command not found
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-15
  • 2013-08-06
  • 2021-12-06
  • 2015-05-31
相关资源
最近更新 更多