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

当前回答

对我来说,在我对pom.xml进行更改之前,什么都不起作用:

<build>
...
    <plugins>
    ...
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                <fork>true</fork>
                <executable>C:\Program Files\Java\jdk1.7.0_45\bin\javac.exe</executable>
            </configuration>
        </plugin>
    </plugins>
</build>

其他的笔记

我可以看到m2e是在JRE中执行的,而不是JDK。我没有做任何改变,包括添加到eclipse.ini:

-vm
C:\Program Files\Java\jdk1.7.0_45\bin\javaw.exe

最后,我从未在JDK中执行m2e,但显式地设置Java编译器(如上所述)实现了这一目的。

其他回答

在我的案例中,问题是这样解决的:

转到“运行时配置”,将JRE配置为JDK。

我复制了答案,以防它因为某种原因被删除,但来源在这里

对我来说,这正是日食专家所抱怨的

所以,我按下编辑按钮,并更改路径到JDK文件夹,然后清洁项目,一切开始工作

右键单击项目并作为maven install运行,然后再次运行应用程序。 如果这没有工作直接进入你的项目的文件夹启动命令行并运行'mvn install'

我的答案与Windows环境中的Eclipse有关。

我打开首选项——> Java——>安装jre 我在这里没有看到JDK。我在这里只看到JRE。 所以我添加了JDK,然后未选中JRE。然后检查JDK。 然后使用Run Configurations运行POM文件。选择选项卡JRE并选择选项“Workspace Default…” 这些是图片

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

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

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