我正在使用m2eclipse在Eclipse中编译一个项目。我在Eclipse中设置JDK路径,如下所示:

Windows-->preferences-->installed jres--> jdk1.7.xx  path

但是这显示了一个错误

[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.424s
[INFO] Finished at: Tue Oct 29 15:21:01 IST 2013
[INFO] Final Memory: 5M/15M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-   plugin:3.1:compile (default-compile) on project TEST-WEB: Compilation failure
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?

当前回答

对我来说,JRE在PATH环境变量中,在JDK路径之前

C: Java ProgramData Oracle \ \ javapath C: \环境jdk1 8月0_151 \ bin

所以我去掉了1。也许交换它们也能解决问题。

其他回答

除了上面的回答之外,我可以说,只需尝试从终端(Eclipse之外)运行Maven。通过这种方式,如果它是从外部构建而不是在Eclipse中构建,那么您就可以理解问题应该在Eclipse中。

在Eclipse IDE中,进入Window > Preferences > Java > Installed JREs >并检查已安装的JREs。这里应该有一个带有JDK的条目。 选择执行环境,如下所示。单击OK 然后右键单击项目-> Maven ->更新项目

此外,您可能必须更改Maven JRE(参见@jlars62 answer),如下所示。运行配置,选择Maven构建我正在运行(从左侧面板)。然后,单击JRE选项卡并选择Workspace default JRE选项

你是否遗漏了任何专家构建。

除了以上的JRE更改。我仍然面临着类似的问题。我错过了JUnit依赖后,添加它是工作正常。

希望这能有所帮助。

我试了大部分答案都没有成功。 对我有用的是(在关注https://stackoverflow.com/a/21279068/2408893):

右键单击项目->属性 选择Java构建路径 选择JRE系统库 点击编辑 在执行环境中选择jdk

单击Finish 构建并运行

如果jaipster的答案不起作用,另一个选择是: 窗口>首选项> Java >已安装的jre

然后编辑jre,使其指向jdk而不是jre (jre包编辑器中的jre home文件)。

这对我很管用。