首页 > 解决方案 > Java 和 Maven 的 SDKMAN 安装问题。JAVA_HOME 环境变量未正确定义

问题描述

我的 Maven 安装有问题。我通过各种来源安装了几个旧版本的 java:sdkman、home brew、直接等。因此,我的 java 安装似乎一团糟。我已经卸载了所有版本并完全清理了我的 sdkman 安装。

从全新安装的 sdkman 开始,遵循我的 java 和 maven,这就是我得到的。

java --version
openjdk 11.0.6 2020-01-14
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.6+10)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.6+10, mixed mode)

which java
/Users/myname/.sdkman/candidates/java/current/bin/java

echo $JAVA_HOME
/Users/myname/.sdkman/candidates/java/current

which mvn
/Users/myname/.sdkman/candidates/maven/current/bin/mvn

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

有什么见解吗?

标签: javamavenjava-homesdkman

解决方案


原来问题是我的主目录中有一个 .mavenrc 文件,它有自己的 JAVA_HOME 导出。它指向一个不再存在的目录。这意味着无论我的 java 安装是什么样的,或者我在 .bash_profile 中放置了什么导出,这些都不会产生影响。更新或删除 JAVA_HOME 导出或删除文件为我解决了这个问题。


推荐阅读