错误:JAVA_HOME 未正确定义执行 maven

新手上路,请多包涵

我安装了 java 并设置了路径环境,当我在终端运行 echo $JAVA_HOME 时,我得到以下输出:

 /usr/lib/jvm/java-7-oracle/jre/bin/java

我还安装了 apache-maven 并更改了 environment 文件,现在它看起来像这样:

 JAVA_HOME="/usr/lib/jvm/java-7-oracle/jre/bin/java"
M2_HOME=/usr/local/apache-maven/apache-maven-3.0.5
M2=$M2_HOME/bin
MAVEN_OPTS="-Xms256m -Xmx512m"
PATH=$M2:$PATH

但是当我执行 mvn --version 时,我收到警告:

 Error: JAVA_HOME is not defined correctly.
  We cannot execute /usr/lib/jvm/java-7-oracle/jre/bin/java/bin/java

找不到最后重复的原因 /bin/java/bin/java

原文由 user3127896 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 873
2 个回答

假设您使用 bash shell 并使用 Oracle 安装程序安装 Java,您可以将以下内容添加到您的 .bash_profile

 export JAVA_HOME=$(/usr/libexec/java_home)
export PATH=$JAVA_HOME/jre/bin:$PATH

这将选择正确的 JAVA_HOME 由 Oracle 安装程序定义,并将首先在您的 $PATH 中设置它,确保找到它。

此外,以后更新 Java 时无需更改它。

编辑

根据评论:

重启后使其持久化

只需在 shell 配置文件中添加这些行。 (假设它是 bash

例如: .bashrc.bash_profile.profile (对于ubuntu)

使用自定义 Java 安装

JAVA_HOME 设置为不带 $() 的自定义 Java 安装路径的根文件夹。

例如: JAVA_HOME=/opt/java/openjdk

原文由 rbento 发布,翻译遵循 CC BY-SA 4.0 许可协议

JAVA_HOME 应该是 /usr/lib/jvm/java-7-oracle/jre/

原文由 talex 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题