MacOS Maven compile提示“No compiler is provided in this environment. Perhaps you are running on a JRE”

在配备M1芯片的MacOS系统中,遇到Maven编译时提示缺少JDK环境。尽管已安装JDK,但maven仍然使用内置JRE。通过检查mvn版本发现,maven并未使用预期的JDK。解决办法是配置环境变量JAVA_HOME,将其指向正确安装的JDK路径,并更新bash配置文件。完成环境变量配置并重启机器后,Maven成功识别到正确的JDK,编译问题得到解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在macos M1芯片机器上使用maven编译项目时提示
“No compiler is provided in this environment. Perhaps you are running on a JRE”
看起来像是没有安装jdk,但是明显是有安装jdk的。

执行 mvn -version

查看执行结果,发现maven使用的jdk并不是我安装的,像是使用内置的jre。所以问题应该是maven没有使用我安装的jdk,打开maven 的mvn命令文件发现JAVA_HOME这个环境变量是必须的

配置JAVA_HOME等环境变量

vim ~/.bash_profile

JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home"
CLASSPAHT=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$PATH:
export JAVA_HOME
export CLASSPATH
export PATH

source ~/.bash_profile

重启机器(必须,很重要)

重启机器后再次执行mvn编译命令,一切ok

[INFO] [INFO] --- resources:3.3.1:resources (default-resources) @ JNDI --- [WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent! [INFO] skip non existing resourceDirectory G:\JNDI-master\src\main\resources [INFO] [INFO] --- compiler:3.13.0:compile (default-compile) @ JNDI --- [INFO] Recompiling the module because of changed dependency. [WARNING] File encoding has not been set, using platform encoding GBK, i.e. build is platform dependent! [INFO] Compiling 24 source files with javac [debug target 1.8] to target\classes [INFO] ------------------------------------------------------------- [ERROR] COMPILATION ERROR : [INFO] ------------------------------------------------------------- [ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK? [INFO] 1 error [INFO] ------------------------------------------------------------- [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 21.271 s [INFO] Finished at: 2025-03-22T11:13:09+08:00 [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.13.0:compile (default-compile) on project JNDI: Compilation failure [ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK? [ERROR] [ERROR] -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
03-23
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zlp1992

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值