java - 尽管设置了 env 变量,但 Maven 3.5 找不到 $JAVA_HOME

标签 java linux maven ubuntu

我正在尝试在我的 Ubuntu 16.04 桌面 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

有什么想法吗?

最佳答案

JAVA_HOME 应该指向 JDK/JRE 安装目录而不是 java 可执行文件。在你的情况下,这似乎是 /opt/jdk1.8.0_131/ (领先的 / 很重要,如果没有它,每个软件都会尝试访问 在其当前工作目录中选择目录)

然后您可以将 $JAVA_HOME/bin 附加到 PATH,这在您的情况下已正确完成,但显然对 Maven 无关紧要。

关于java - 尽管设置了 env 变量,但 Maven 3.5 找不到 $JAVA_HOME,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44116565/

相关文章:

java - JAXB 编码器缩进

java - JSP 自定义标签 : missing DTD/XML Schema

linux - Linux 中的扩展桌面

eclipse - 编译自定义 OpenDaylight API 时出错

maven - 具有父 pom 和 svn 布局的多模块 maven 项目

java - 从两个整数创建唯一的整数

java - 如何为诺基亚 6212 创建新应用程序

linux - 如何制作备份虚拟机

linux - 'read'权限和 'execute'权限的更多区别(例子)

maven - GAE Maven如何部署