2

我的 JAVA_HOME 已正确设置为/usr/local/java/jdk1.7.0_01

$echo $JAVA_HOME
/usr/local/java/jdk1.7.0_01

$sudo update-alternatives --config java

There are 3 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   1061      auto mode
  1            /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   1061      manual mode
* 2            /usr/local/java/jdk1.7.0_01/bin/java             1         manual mode
  3            /usr/local/java/jre1.7.0_01/bin/java             1         manual mode

我正在使用 mvn release:prepare 插件在 pom.xml 中生成 git 标签和翻转项目的版本。如果我使用 maven 2.2.1,它会完美运行当我使用 maven 3.0.4 时,我得到:

[INFO] Error: JAVA_HOME is not defined correctly.
[INFO]   We cannot execute /usr/local/java/jdk1.7.0_01/bin/java/bin/java

我猜maven 3中可能存在一个错误,当它运行时,它会尝试将/bin/java两次附加到我的JAVA_HOME。

4

4 回答 4

2

JAVA_HOME 必须指向 jre,然后设置:

export JAVA_HOME=/usr/local/java/jdk1.7.0_01/jre
于 2014-11-12T08:04:03.977 回答
2

尝试使用标准的 Oracle/Sun JDK,如果可以的话。我以前在 Debian/Ubuntu 上自己打过这个。我从来没有耐心弄清楚 OpenJDK 出了什么问题,但它不能很好地处理 Maven。或者……至少……这是我的观察。

于 2013-03-04T18:36:16.893 回答
0

remove the file in old maven home and it will change to new one.

mv /usr/local/Cellar/maven/3.8.1/libexec /usr/local/Cellar/maven_bak

before that, you need to export your jdk and maven firstly. and how to do this, you can see following link.

https://stackoverflow.com/a/67715235/11679986

于 2021-05-27T03:32:42.267 回答
0

在您的 mvn 命令文件中搜索 JAVA_HOME(用于which mvn查找它)。如果尚未定义,我的确实会处理 JAVA_HOME。

所以也许你可以通过unset JAVA_HOME

于 2016-11-17T01:13:58.097 回答