【问题标题】:Jenv is not picking up the system installed javajenv 不接系统安装java
【发布时间】:2019-01-08 10:16:06
【问题描述】:

我已经安装了 jenv。 which java 的输出最初是 /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/bin/java。我发出以下命令:

jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home
eval "$(jenv init -)"

现在,which java 的输出是

/Users/my_username/.jenv/shims/java

java -version 的输出前后一致。但是,mvn clean install 正在抛出错误:

Error: JAVA_HOME is not defined correctly.
  We cannot execute /Users/my_username/.jenv/versions/system/bin/java

为什么 maven 没有选择正确的 java?

【问题讨论】:

  • 你能在终端上回显 $JAVA_HOME 吗?它是否指向有效位置?
  • 可以直接从控制台运行java吗?
  • $JAVA_HOME 为空。我可以运行 java -version。
  • 你试过$ jenv enable-plugins maven$ jenv enable-plugins export吗?
  • 当我尝试启用 maven 插件时,我收到“jenv: no such command `enable-plugins'”作为消息。

标签: java maven jenv


【解决方案1】:

根据文档eval "$(jenv init -)" 应该打印到控制台一些您需要执行的命令(他们建议将它们添加到 .bash_profile)。

【讨论】:

  • @PapaStan 是的。这些命令会产生新的命令。这是有关如何从手册安装的说明echo 'eval "$(jenv init -)"' >> ~/.bash_profile
  • 文档说 jenv init 启用 shims 和自动补全。
  • @PapaStan 也许它也初始化了 JAVA_HOME?
  • @dknight 没有。它显示了您还需要做什么才能使其正常工作。您必须将这些命令放在您的初始化脚本中。
  • 不错的信息,但没有解决根本问题。
【解决方案2】:

jenv versions 显示当前版本是系统。我不确定为什么那个版本不合适。我将全局版本设置为1.8.0.121,一切正常。

【讨论】:

  • 这可能是因为你应该在init之后添加
  • 这远离系统默认值;它没有解决问题的根源。但它确实提供了一种解决方法。
猜你喜欢
  • 2022-01-14
  • 1970-01-01
  • 1970-01-01
  • 2014-05-06
  • 1970-01-01
  • 2014-10-20
  • 2014-10-26
  • 2022-01-17
相关资源
最近更新 更多