No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?

今天在尝试springboot打包mvn clean package -DskipTests的时候报了错误No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?

这个错误出现很多次了,我搜了很多网上资料,总结一下解决方法:

异常信息:

[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: 1.436 s
[INFO] Finished at: 2017-06-28T11:16:07+08:00
[INFO] Final Memory: 10M/151M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project manage: Compilation failure
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
[ERROR] -> [Help 1]

打开cmd,输入mvn -v的命令,查看maven的java home

首先,配置一个JAVA_HOME,这个配置如下:

 需要保证JAVA_HOME与maven的java home相同,必须要选择Java开发环境jdk中的jre,而不是jre中的jre。

这需要更新注册表中的信息,注册表路径为:HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Java Runtime Environment/1.8

 更新JavaHome路径和RuntimeLib路径

JavaHome路径如下:为JDK中Jre路径

RuntimeLib路径如下:为jvm.dll路径

保持jdk路径与maven的jdk路径相同后,就不会出现如上错误了。

原文地址:https://www.cnblogs.com/longlyseul/p/12576767.html