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

当前回答

当我试图从eclipse中进行maven构建时,我得到了这个错误。

对我来说,答案是运行->运行配置,选择我正在运行的Maven构建(从左侧面板)。然后,单击JRE选项卡并选择Workspace default JRE选项

其他回答

我只是浪费了3个小时在这个问题上,直到我设法使它工作。 当我在Eclipse终端中发出mvn编译命令时,我有这个错误:

此环境中不提供编译器。也许您正在运行JRE而不是JDK?

因此,我在这里读到,我必须创建一个名为JAVA_HOME的新系统变量,并使其指向jdk安装文件夹。然而,这产生了另一个错误:

不再支持源选项1.5。使用1.6或更高版本

找不到解决办法,所以…

因此,解决这些问题的方法是安装Java SE开发工具包8! 我用的是9,我想如果是最新的,肯定更好…

无论如何……

卸载计算机上的所有java版本 从这里安装JDK8: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 然后在这里定义JAVA_HOME系统的环境值教程: https://docs.oracle.com/cd/E19509-01/820-3208/inst_cli_jdk_javahome_t/ 重新启动Eclipse,享受吧!(至少我是这么做的)

希望这能让那些可怜的流浪者少受些麻烦。

关于这个问题有几个答案,但都与JDK的正确路径配置有关,但只有JRE才能解决这个问题。

我们只需要使用部署程序集来配置Java EE项目的打包war文件的路径,然后重新运行maven-install。

使用部署程序集的步骤:

右键单击Jave EE项目——>,单击属性 ——>单击部署程序集 点击Add按钮——>点击Archives from the File 系统——>单击下一步——>单击添加——>进入 .m2\respository目录,搜索生成的war文件——> 选择战争文件——>点击“打开”按钮——>点击“应用”——>确定 右键单击项目——>单击下面的Maven Install 运行

这将成功构建您的项目,而不会出现任何编译器错误。

希望这能在没有JDK的情况下解决问题。

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

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

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

希望这能有所帮助。

请使用windows

如果您使用的是intellij,只需在添加JAVA_HOME后从项目目录打开命令提示符并运行mvn clean install(不要使用intellij终端)。 set JAVA_HOME=C:\程序文件\Java\jdk1.8.0_202