问题背景:
运行环境:Mac For IDEA
我的Mac 更新最新系统(window解决办法也是如下)后,由于新系统的Mac会带JDK导致自动更新Java版本,最后导致我在Idea控制台中执行mvn install
后抛出
No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK
问题排查过程
- 执行
java -version
判断java是否安装成功 - 执行
javac
如果出现‘javac’不是内部或外部命令
,Win10可以在环境变量中设置JAVA_HOME,Mac可以在vim ~/.bash_profile或者~/.zshrc
中设置JAVA_HOME,记住必须是JDK路径,如果只有JRE路径需要重新下载JDK - 如果以上步骤都没问题,执行
mvn -v
出现Java version: 1.8.0_231, vendor: Oracle Corporation, runtime: /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
这个路径是JRE路径而不是JDK路径,改成JDK路径即可 - 查找JDK路径,执行
/usr/libexec/java_home -V
会出现路径,复制/Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home
路径 vim ~/.zshrc
添加export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home
,然后重启IDEA就可以了
拓展
.bash_profile 中修改环境变量只对当前窗口有效,而且需要 source ~/.bash_profile才能使用
.zshrc 则相当于 windows 的开机启动的环境变量