MacOS系统下Maven安装失败求助:JAVA_HOME环境变量配置异常
你的问题情况
你在MacBook上安装Maven时遇到了报错,先把你的配置和错误信息整理出来:
你的~/.bash_profile配置:
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-10.0.1.jdk/Contexts/Home M2_HOME=/Users/gongjianping/MySoftwares/apache-maven-3.5.3 export M2_HOME export JAVA_HOME export PATH=$PATH:$M2_HOME/bin:$JAVA_HOME/bin
执行mvn -v时的错误:
gongjianpingdeMacBook-Pro:~ gongjianping$ 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
一步步解决问题
1. 先修正JAVA_HOME的拼写错误
一眼就看到你的JAVA_HOME路径里写的是Contexts/Home——这明显是笔误!正确的路径应该是Contents/Home,这大概率就是导致报错的核心原因。
你可以先手动验证修正后的路径是否存在:
ls /Library/Java/JavaVirtualMachines/jdk-10.0.1.jdk/Contents/Home
如果返回一堆JDK相关的文件/目录,说明路径没问题;如果提示文件不存在,那你可以用系统自带的命令获取准确的JDK路径:
/usr/libexec/java_home -v 10
这个命令会直接输出你系统里JDK 10的正确安装目录,把它复制到JAVA_HOME里就行。
2. 让配置生效
修改完~/.bash_profile后,别忘记让配置立即生效,执行:
source ~/.bash_profile
然后验证一下JAVA_HOME是否设置正确:
echo $JAVA_HOME
如果输出的是刚才确认的正确路径,再检查PATH里是否包含了Maven的bin目录:
echo $PATH | grep $M2_HOME/bin
能看到Maven的路径就说明PATH配置没问题。
3. 验证Maven本身的路径
如果修正JAVA_HOME后还是报错,那检查下M2_HOME的路径是否正确:
ls $M2_HOME/bin/mvn
如果这个命令能找到mvn脚本,说明Maven的安装路径是对的;如果找不到,你得确认apache-maven-3.5.3是不是真的放在了/Users/gongjianping/MySoftwares/这个目录里。
4. 注意zsh的适配问题
如果你的Mac默认用的是zsh(现在新Mac默认都是zsh),那~/.bash_profile里的配置不会自动加载。你需要把这些环境变量配置复制到~/.zshrc文件中,然后执行:
source ~/.zshrc
再去执行mvn -v试试。
内容的提问来源于stack exchange,提问作者JesseCN

