我正在使用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?

当前回答

这是因为它正在寻找JDK并正在创建JRE。

建议解决方案: 窗口>首选项> Java >已安装jre >编辑>单击目录>浏览JDK的路径....

这应该没问题。这对我来说很有效!!

其他回答

虽然这个问题是关于Eclipse设置的错误,但我认为用IntelliJ和Windows 10设置修复这个错误的答案可能也有帮助。

1. 进入文件—>设置—>构建,执行,部署—>构建工具—> Maven—>导入

2. 如下所示,将JDK for Importer设置为JAVA_HOME

此外,JAVA_HOME应该设置为“JDK path at Environment Variables——> System Variables”,并在path System变量中添加%JAVA_HOME%\bin

当我创建一个新的EC2 ubuntu 16.04实例时,我得到了同样的错误,上面已经安装了Java,而运行mvn清洁包时,我遇到了这个问题,下面的解决方案对我有效。

如果你在Ubuntu服务器上工作,那么你可以尝试重新安装Java,为此你可以使用这个回答如何在Ubuntu Linux上安装JDK

我也遇到了同样的问题,我犯的错误是我只在路径var中添加了jre路径,而不是jdk路径。当jdk路径添加到路径并构建maven项目时,它的工作完美。谢谢

我有同样的问题,我只是添加JAVA_HOME环境变量。

如果您正在使用eclipse,请参考https://stackoverflow.com/a/21279068/6097074 如果您使用的是intellij,只需在添加JAVA_HOME后从项目目录打开命令提示符并运行mvn clean install(不要使用intellij终端)。

我尝试了以上所有方法,但是仍然得到相同的错误消息。

在我的案例中,在特定于项目的构建路径中,一个实际的JRE被错误地用作JRE系统库,这显然覆盖了这里讨论的所有其他设置。

如果你是这样的话,试试下面的方法:

打开Java Build Path的特定项目库:右键单击“Project > Build Path > Configure Build Path…”并选择“libraries”选项卡。 选择“JRE System Library”条目并点击“Remove”。 点击“添加库…”。 弹出一个向导。选择“JRE System Library”,然后按“Next >”。 现在选择正确的JDK(在我的例子中是“Workspace default JRE”,我选择了JDK 使用JDK配置)。 点击“完成”关闭向导。 点击“OK”关闭“Properties”对话框。