转载来自:
https://blog.csdn.net/w605283073/article/details/111770386
一、背景
最近将mac 升级到 Big Sur 版本,出现了个别奇奇怪怪的小问题。
系统升级后执行 mvn 命令,总是出现以下错误:
No compiler is provided in this environment. Perhaps you are running
on a JRE
截图如下:
网上搜索了很多答案,基本都是说环境变量的问题,通过 java -version 检查了环境变量没啥问题。
折腾老半天没搞定,最终找到了解决方案,在这里将这个坑分享出来。
二、解决办法
2.1 下载并安装官方的 JDK
https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
https://www.oracle.com/java/technologies/javase/javase9-archive-downloads.html
2.2 设置环境变量
vim ~/.bash_profile 添加如下
export JAVA_HOME=$(/usr/libexec/java_home)
export PATH=$JAVA_HOME/bin:$PATH
export CLASS_PATH=$JAVA_HOME/lib
编辑后保存, 执行 source ~/.bash_profile生效。
java -version 检查
2.3 查看mvn 版本
执行 mvn -version 查看
Java version 正确,但是 runtime 值为 /Library/Internet Plug-Ins/JavaAppletPlugin.plugin
进入 /Library/Internet Plug-Ins/ 目录,删除 /Library/Internet Plug-Ins/JavaAppletPlugin.plugin
重新执行 mvn -version runtime 正确,如下图所示(装了JDK9,JDK8也类似)。