java - 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
有什么见解吗?
解决方案
原来问题是我的主目录中有一个 .mavenrc 文件,它有自己的 JAVA_HOME 导出。它指向一个不再存在的目录。这意味着无论我的 java 安装是什么样的,或者我在 .bash_profile 中放置了什么导出,这些都不会产生影响。更新或删除 JAVA_HOME 导出或删除文件为我解决了这个问题。
推荐阅读
- javascript - 面临问题让用户选择取消静音自动播放 vimeo iframe 嵌入
- rust - 如何将十六进制数字而不是 &[u8] 写入文件
- docker - Docker Swarm - 两个容器之间的通信?
- linux - 如何在链中使用 grep 作为别名
- java - InetSocketAddress的spring数据mongodb序列化
- javascript - 在重新加载页面上,我丢失了使用用户输入创建的剑道网格数据
- macos - 在 Mac 上的终端中更改用户名颜色
- html - 如何在标签中包裹的收音机中居中文本?
- javascript - VueJS - 从mounted()函数调用API后更新数据
- actionscript-3 - 影片剪辑中的文本阻止用户单击