当我在虚拟环境中检查maven的版本时,出现以下错误:
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
但是,我可以在虚拟环境之外打印 Maven 的版本
mvn -version
Apache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T00:58:13-07:00)
Maven home: /usr/local/Cellar/maven/3.5.2/libexec
Java version: 1.8.0_152, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.11.6", arch: "x86_64", family: "mac"
我在 ~/.bash_profile 中使用了 set
set JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk
set PATH=$JAVA_HOME/jre/bin:$PATH
我不明白这个错误,因为 JAVA_HOME 指向 JDK 而不是 JRE?谢谢回答!
这是不正确的:
set JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk
请注意,输出mvn
告诉你 Java home 的位置是/Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk/Contents/Home/jre
。
所以JDK home的位置大概是/Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk/Contents/Home
.
其次,你需要export
变量,而不仅仅是set
it.
像这样写:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk/Contents/Home
更新您的~/.bash_profile
,
测试设置是否正确,
启动一个新的 shell,并检查输出echo $JAVA_HOME
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)