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

2022-08-31 13:26:10

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

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

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

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


答案 1

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

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

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

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

编辑

根据评论:

使其在重新启动后持久化

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

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

使用定制 Java 安装

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

前任:JAVA_HOME=/opt/java/openjdk


答案 2

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


推荐