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

此文转载自:https://blog.csdn.net/lolly1023/article/details/112320404#commentBox

报错问题

运行Maven install,却报错:

[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO] 
[INFO] Maven_Total
[INFO] Maven_Dao
[INFO] Maven_Service
[INFO] Maven_Web Maven Webapp
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven_Total 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-install-plugin:2.4:install (default-install) @ Maven_Total ---
[INFO] Installing D:java20201020Maven_Totalpom.xml to D:maven_new_localrepositorycom
jdMaven_Total.0.1-SNAPSHOTMaven_Total-0.0.1-SNAPSHOT.pom
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven_Dao 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ Maven_Dao ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory D:java20201020Maven_Daosrcmain
esources
[INFO] 
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ Maven_Dao ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 2 source files to D:java20201020Maven_Dao	argetclasses
[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] Reactor Summary:
[INFO] 
[INFO] Maven_Total ........................................ SUCCESS [  0.166 s]
[INFO] Maven_Dao .......................................... FAILURE [  0.334 s]
[INFO] Maven_Service ...................................... SKIPPED
[INFO] Maven_Web Maven Webapp ............................. SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.577 s
[INFO] Finished at: 2021-01-07T16:26:24+08:00
[INFO] Final Memory: 9M/243M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project Maven_Dao: Compilation failure
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
[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
[ERROR] 
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <goals> -rf :Maven_Dao

阅读了一下,说的是执行编译失败,你是不是在JRE环境下运行而不是JDK?寻思了一会儿,知道了原来Eclipse运行是需要一个JRE,而这个JRE并不是系统环境变量中的javac目录下的JRE,而是JDK安装时候自带的JRE目录,此目录下并无javac,故无法进行java的编译,问题找到了,下面说一下具体解决方案。

解决步骤

在Eclipse的菜单中,进入 Window > Preferences > Java > Installed JREs > Execution Environments,选择JavaSE-1.x, 在右侧选择JDK的安装目录(注意不要选择JRE的目录),如下图:
在这里插入图片描述
在进行maven install的时候,就不会出现该情况了

   

更多内容详见微信公众号:Python测试和开发

Python测试和开发

原文地址:https://www.cnblogs.com/phyger/p/14252052.html