为啥 jenv 中选择的 java 版本 8 实际上不是我 Mac 上的当前 java?

Posted

技术标签:

【中文标题】为啥 jenv 中选择的 java 版本 8 实际上不是我 Mac 上的当前 java?【英文标题】:Why the java version 8 which is selected in jenv is not in fact the current java on my Mac?为什么 jenv 中选择的 java 版本 8 实际上不是我 Mac 上的当前 java? 【发布时间】:2020-07-19 14:54:09 【问题描述】:

我使用 brew 安装 sbt(它反过来安装 java 13),并使用 brew cask 安装 openjdk java 8,如下所示:

brew install sbt
brew cask install adoptjava8

然后将 java 8 添加到 jenv,如下所示:

jenv add (path to java 8 Home)

nicolae.marasoiu@OVO4939MB ~ % jenv versions
  system
* 1.8 (set by /Users/nicolae.marasoiu/.java-version)
  1.8.0.242
  13.0
  13.0.2
  openjdk64-1.8.0.242
  openjdk64-13.0.2

但还是:

nicolae.marasoiu@OVO4939MB ~ % java -version
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)

【问题讨论】:

请告诉我们您的$PATH 【参考方案1】:

解决了,来自https://github.com/Homebrew/homebrew-core/issues/31390的信息

基本上步骤是:

brew install jenv
echo 'eval "$(jenv init -)"' >> ~/.bash_profile
jenv add <path-to-java8-home>

所以缺少的部分是 .bash_profile 或 .zprofile 中的脚本部分,它允许 jenv 配置本地 shell 以了解所需的 java 版本。

【讨论】:

以上是关于为啥 jenv 中选择的 java 版本 8 实际上不是我 Mac 上的当前 java?的主要内容,如果未能解决你的问题,请参考以下文章

SET JAVA_HOME 反映 jenv java 版本

mac 上使用jenv 管理的多个java 版本

jenv 切换JDK版本无法生效问题

jenv 切换JDK版本无法生效问题

修改mac中mvn 的 java 版本

Mac--jenv管理jdk版本