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

当前回答

如果您正在从cmd运行Maven命令,请确保在运行该命令之前设置了jdk路径。在我的例子中,我创建了一个包含以下内容的.bat文件:

set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_60
start cmd.exe /k "cd c:\aem_proj\sis\aau"

其他回答

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

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

使用部署程序集的步骤:

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

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

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

这个问题还有另一个可能的答案,我可能是唯一一个愚蠢到偶然发现这个问题的人,但我认为它值得补充,因为其他答案都不适用,因为我已经正确地设置了这些设置。

当您安装JDK时,安装程序会询问您要将文件安装在哪里。默认情况下,在Windows上,这类似于C:\Program Files\Java\ jdk1.8.0_74(或您正在安装的任何版本)。

然后,它要求您提供一个安装JRE的目录,默认情况下,该目录类似于C:\Program Files\Java\ jre1.8.0_74。

注意,一个是jdk1.8.0_74,另一个是jre1.8.0_74

我太着急了,以为安装程序问了我两次同样的问题,把JDK和JRE安装位置都设置为D:\devtools\ JDK \jdk1.8.0_74,导致安装程序用JRE覆盖JDK。这导致(除其他外)我的JDK bin中缺少javac.exe,并且OP在我的所有maven构建中报告了相同的错误。

在Linux中,做一个docker的例子,我一定没有安装JDK,只安装了JRE。sudo apt安装openjdk-8-jdk,在配置文件中设置JAVA_HOME,并将JAVA_HOME/bin添加到路径中,它就构建了!

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

可能jre已经添加

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

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

然后点击完成。

你会看到这样的窗户

select JDK -> Apply -> Ok

你完成了。

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

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

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