mac Big Sur系统 mvn打包报错:No compiler is provided in this environment. Perhaps you are running on a JRE

简介: mac Big Sur系统 mvn打包报错:No compiler is provided in this environment. Perhaps you are running on a JRE

一、背景

最近将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也类似)。
在这里插入图片描述

再回到项目中执行 mvn 编译命令等,恢复正常。

三、感悟

可能是性格问题,或许有些缺乏延迟满足,总是想追求最新的软件和电子产品。
新的东西固然好,但是很容易成为小白鼠,成为第一批趟坑的人。

相关文章
|
6天前
|
UED
「Mac畅玩鸿蒙与硬件52」UI互动应用篇29 - 模拟火车票查询系统
本篇教程将实现一个模拟火车票查询系统,通过输入条件筛选车次信息,并展示动态筛选结果,学习事件处理、状态管理和界面展示的综合开发技巧。
39 13
|
5月前
|
iOS开发 MacOS
【Mac系统】解决Vscode中LeetCode插件不能刷剑指offer题库
文章讨论了解决Mac系统中Vscode里LeetCode插件无法刷剑指Offer题库的问题,并提供了一些相关的使用技巧和资源链接。
279 1
|
5月前
|
关系型数据库 MySQL 数据库
【Mac os系统】安装MySQL数据库
本文详细介绍了在Mac OS系统上安装MySQL数据库的步骤,包括下载、安装、配置环境变量、启动服务、授权设置以及解决常见问题,并提供了一些常用的MySQL命令。
328 0
【Mac os系统】安装MySQL数据库
|
2月前
|
JavaScript 前端开发 物联网
「Mac畅玩鸿蒙与硬件1」鸿蒙开发环境配置篇1 - 认识鸿蒙系统与开发工具
本篇将介绍鸿蒙操作系统(HarmonyOS)的基本概念以及在 Mac 环境下进行鸿蒙开发所需的工具。通过了解鸿蒙系统和开发工具的特点,为后续的学习和实践奠定基础。
174 1
「Mac畅玩鸿蒙与硬件1」鸿蒙开发环境配置篇1 - 认识鸿蒙系统与开发工具
|
3月前
|
Java Shell 应用服务中间件
Mac系统下配置环境变量:Javajdk、maven、tomcat 环境变量配置及对应配置文件
这篇文章介绍了如何在Mac系统下配置Java JDK、Maven和Tomcat的环境变量,包括配置文件的选择、解决环境变量在zsh shell中无效的问题、查看和设置系统环境变量的方法,以及JDK和Maven的下载、配置和测试步骤。
1688 1
Mac系统下配置环境变量:Javajdk、maven、tomcat 环境变量配置及对应配置文件
|
4月前
|
数据采集 中间件 关系型数据库
Mac系统通过brew安装mysql5.7后,启动报错的解决办法
Mac系统通过brew安装mysql5.7后,启动报错的解决办法
184 2
|
3月前
|
iOS开发 开发者 MacOS
在线创建ios打包证书无需mac
这个文件并不一定需要使用mac OS去创建,在苹果开发者中心,生成了cer格式的证书后,导出p12证书这个过程,其实也并不一定需要mac电脑来完成。
44 0
|
5月前
mac系统使用NTFS移动硬盘只读问题
mac系统使用NTFS移动硬盘只读问题
89 4
|
5月前
|
iOS开发 MacOS Python
Electron Mac 打包报 Error: Exit code: ENOENT. spawn /usr/bin/python ENOENT 解决方法
Electron Mac 打包报 Error: Exit code: ENOENT. spawn /usr/bin/python ENOENT 解决方法
|
5月前
|
JavaScript Linux iOS开发
【Mac系统】Vscode使用LeetCode插件报错‘leetcode.toggleLeetCodeCn‘ not found
在Mac系统下使用VSCode的LeetCode插件时遇到“leetcode.toggleleetcodecn”命令找不到的错误解决方法,主要是通过从Nodejs官网下载并安装最新版本的Node.js来解决环境配置问题。
266 0