Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.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
在运行mvn时,它抛出未定义java home的错误_Java_Maven - Fatal编程技术网

在运行mvn时,它抛出未定义java home的错误

在运行mvn时,它抛出未定义java home的错误,java,maven,Java,Maven,我的机器上安装了mvn和java 它仍然抛出JAVA\u HOME未正确定义。: mvn clean compile install -DskipTests Error: JAVA_HOME is not defined correctly. We cannot execute /opt/software/jdk1.7.0_65/bin/java ijaz@ijaz20:~/codebase/central-repo/core-container$ java -version java ver

我的机器上安装了mvn和java

它仍然抛出
JAVA\u HOME未正确定义。

mvn clean compile install -DskipTests
Error: JAVA_HOME is not defined correctly.
We cannot execute /opt/software/jdk1.7.0_65/bin/java

ijaz@ijaz20:~/codebase/central-repo/core-container$ java -version
java version "1.7.0_60"
Java(TM) SE Runtime Environment (build 1.7.0_60-b19)
Java HotSpot(TM) 64-Bit Server VM (build 24.60-b09, mixed mode)
ijaz@ijaz20:~/codebase/central-repo/core-container$ 

JAVA_HOME
当前设置或默认设置为
/opt/software/jdk1.7.0_65/bin/JAVA
,这是不正确的,这是JAVA二进制文件的位置,而不是安装位置

尝试将JAVA_HOME设置为实际的JAVA HOME:

export JAVA_HOME="/opt/software/jdk1.7.0_65/"

您的java版本有问题: JAVA_主页设置为
/opt/software/jdk1.7.0_65/

如果你点击java--version,你会得到版本
1.7.0\u 60

1.7.0_65不等于1.7.0_60

因此,您必须更改JAVA_HOME变量。

请尝试以下操作:

$ which java
如果这还不能给你

/opt/software/jdk1.7.0_65/bin/java
那么您的JAVA_主页设置不正确。具体来说,您当前似乎安装了JDK 7 Update 60,但JAVA_HOME指向的是一个不存在的JDK 7 Update 65。相应地修复JAVA_主页

哪个java
还可以为您提供一个位置,该位置具有指向可执行文件实际位置的符号链接;你可以跟我核对一下

$ ls -l `which java`

看看它指向哪里。

让我们从显而易见的问题开始:您是否定义了环境变量
JAVA\u HOME
?请参阅我的最后一句话。java-version显示java呈现请回顾我的问题:您是否定义了环境变量
java\u HOME
?运行
java-version
并不意味着您定义了
java\u HOME
echo$JAVA_HOME
给了你什么?上面写着/opt/software/jdk1.7.0_65/echo JAVA_HOME说/opt/software/jdk1.7.0_65/如果JAVA_HOME真的像你说的那样设置好了,然后,试图执行的命令将显示为
/opt/software/jdk1.7.0_65/bin/java/bin/java
。ijaz@ijaz20:/opt/software$echo$JAVA_HOME/opt/software/jdk1.7.0_65/ijaz@ijaz20:/opt/software$如下图所示ijaz@ijaz20:/opt/software$ls-l
which java
lrwxrwx 1 root root 7月22日18 14:40/usr/bin/java->/etc/alternations/java然后再次应用它:
ls-l/etc/alternations/java