Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven没有';无法在Ubuntu上正确检测JAVA_主页_Java_Maven_Ubuntu 18.04 - Fatal编程技术网

Maven没有';无法在Ubuntu上正确检测JAVA_主页

Maven没有';无法在Ubuntu上正确检测JAVA_主页,java,maven,ubuntu-18.04,Java,Maven,Ubuntu 18.04,我在Ubuntu 18.04.5中使用了一些环境变量,试图使它们在每次重新打开终端时都不会重置 但是,现在Maven对每个命令都有以下错误: The JAVA_HOME environment variable is not defined correctly This environment variable is needed to run this program NB: JAVA_HOME should point to a JDK not a JRE 我非常确定我的$JAVA_HOM

我在Ubuntu 18.04.5中使用了一些环境变量,试图使它们在每次重新打开终端时都不会重置

但是,现在Maven对每个命令都有以下错误:

The JAVA_HOME environment variable is not defined correctly
This environment variable is needed to run this program
NB: JAVA_HOME should point to a JDK not a JRE
我非常确定我的
$JAVA_HOME
指向正确的目录,因为命令
echo$JAVA_HOME
返回:

/usr/lib/jvm/java-11-openjdk-amd64
openjdk 11.0.8 2020-07-14
OpenJDK Runtime Environment (build 11.0.8+10-post-Ubuntu-0ubuntu118.04.1)
OpenJDK 64-Bit Server VM (build 11.0.8+10-post-Ubuntu-0ubuntu118.04.1, mixed mode, sharing)
命令
$JAVA_HOME/bin/JAVA--version
返回:

/usr/lib/jvm/java-11-openjdk-amd64
openjdk 11.0.8 2020-07-14
OpenJDK Runtime Environment (build 11.0.8+10-post-Ubuntu-0ubuntu118.04.1)
OpenJDK 64-Bit Server VM (build 11.0.8+10-post-Ubuntu-0ubuntu118.04.1, mixed mode, sharing)
在此错误之前,我已将以下行添加到
/etc/environment

export JAVA14="/usr/lib/jvm/jdk-14"
export JAVA11="/usr/lib/jvm/java-11-openjdk-amd64"
export JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"
并将以下行添加到
~/.bashrc

source /etc/environment
另外,经过一些编辑后,我返回了与以前一样的所有内容,并且命令
sudo update alternations--config java
返回以下内容:

  Selection    Path                                         Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-11-openjdk-amd64/bin/java   1111      auto mode
  1            /usr/lib/jvm/java-11-openjdk-amd64            1         manual mode
  2            /usr/lib/jvm/java-11-openjdk-amd64/bin/java   1111      manual mode
因此,选择了正确的路径,而且我没有更改任何其他
更新选项
配置

我该怎么做才能让Maven再次看到$JAVA_主页

编辑:


我通过直接编辑
/usr/share/maven/bin/mvn
脚本和
java
可执行文件的硬编码路径,将该问题修复为
JAVACMD
变量。但是,我仍然对这个问题的常规解决方案感兴趣。

我还没有评论权限(或者我希望这会有助于猜测评论),但您应该检查$HOME/.mvnrc(或同等版本)查看是否在那里设置了JAVA_HOME。

您能否提供命令
mvn-version
的输出,该命令将显示maven在其过程中拾取的JAVA_HOME?它显示相同的错误:
JAVA_HOME环境变量未正确定义此环境变量需要运行此程序NB:JAVA\u HOME应该指向JDK而不是JRE
如果运行“JAVA-version”,会得到什么?您是否已添加到该JAVA\u HOME to路径?运行
JAVA--version
会得到与
$JAVA\u HOME/bin/JAVA--version
相同的结果。