我正在使用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的路径....

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

其他回答

进入“windows”->首选项-> Java ->已安装的jre

可能jre已经添加

单击“添加->标准虚拟机->下一步->目录”

并浏览JDK 在我的例子中,路径是C:\Program Files\Java\ jdk1.8.0_111

然后点击完成。

你会看到这样的窗户

select JDK -> Apply -> Ok

你完成了。

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

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

单击Finish 构建并运行

添加新的JRE定义(选择路径JDK),为我工作。

http://help.eclipse.org/neon/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Ftasks%2Ftask-add_new_jre.htm

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

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

这对我很管用。

试试这个。

<build>
...
    <plugins>
    ...
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                <fork>true</fork>
                <executable> path to jdk \bin\javac.exe</executable>
            </configuration>
        </plugin>
    </plugins>
</build>