我正在尝试在Ubuntu 16.04 desktop VM
上运行Maven 3.5。我安装了JDK 8
并设置$JAVA_HOME
并添加了路径。尽管如此,Maven找不到它。这是输出:
root@ubuntu:/# echo $JAVA_HOME
opt/jdk1.8.0_131/bin/java
root@ubuntu:/# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:opt/jdk1.8.0_131/bin:opt/apache-maven-3.5.0/bin
root@ubuntu:/# mvn -v
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
有什么想法吗?
答案 0 :(得分:4)
JAVA_HOME
应指向JDK / JRE安装目录而不是java
可执行文件。在您的情况下,这似乎是/opt/jdk1.8.0_131/
(前导/
很重要,如果没有,每个软件都会尝试访问其当前工作目录中的opt
目录。
然后,您可以将$JAVA_HOME/bin
附加到PATH
,这已经在您的情况下正确完成,但显然对Maven无关。
答案 1 :(得分:1)
设置$JAVA_HOME
/opt/jdk1.8.0_131/
绝对正确的路径,它是java
的主目录。这里1.8.0.131
是用于标识Java Installed版本的版本。
而不是
opt/jdk1.8.0_131/bin/java //wrong path, it is not a home directory for java
注意: - 您也可以为多个版本的java安装或提取解压缩的版本.Version实际上可以帮助您根据需要识别和选择正确的版本(如果需要)。
答案 2 :(得分:0)
您的Maven可能位于受保护的目录中
使用sudo mvn -v