此环境中未提供编译器.也许您运行的是JRE而不是JDK?

Sai*_*eek 588 java eclipse m2eclipse maven java-7

我正在使用m2eclipse在Eclipse中编译一个项目.我在Eclipse中设置JDK路径,如下所示:

Windows-->preferences-->installed jres--> jdk1.7.xx  path
Run Code Online (Sandbox Code Playgroud)

但这显示出错误

[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?
Run Code Online (Sandbox Code Playgroud)

jai*_*ter 919

  1. 在Eclipse IDE上,进入Window > Preferences > Java > Installed JREs >并检查已安装的JRE.你应该有一个JDK条目.
  2. 选择执行环境,如下所示.单击确定
  3. 然后右键单击您的项目 - > Maven - > 更新项目

此外,您可能需要更改Maven JRE(请参阅@ jlars62答案),如下所示.转到运行 - >运行配置,选择我正在运行的Maven Build(从左侧面板).然后,我单击了JRE选项卡并选择了Workspace默认JRE选项

在此输入图像描述

  • @Diode我遇到了同样的问题.我去了"已安装的JRE"并单击"添加..."从那里我浏览到C:\ Program Files\Java\jdk1.7.0_XX然后我可以选择jre作为jaipster描述. (49认同)
  • @jaipster我试图这样做,但我在左侧面板中找不到jdk,我只能看到jre7.你知道为什么吗? (14认同)
  • 对我来说,只需将JDK添加到"已安装的JRE"列表(不是最佳命名...)并选中新JDK条目旁边的复选框,使其成为默认VM即可. (7认同)
  • 我点击了"已安装的JRE"菜单中的"搜索"按钮.Eclipse搜索了我指向的驱动器,并提供了所有已安装的JRE和JDK. (7认同)
  • 它可能是你的机器上没有安装jdk7或者没有在eclipse中配置它.你确定吗. (4认同)

Tha*_*ran 134

对我来说,这正是日食的主人所抱怨的

在此输入图像描述

所以,我按下Edit按钮并改变JDK文件夹的路径,然后清理项目,一切都开始工作

  • 我宁愿建议使用"添加"按钮添加JRE,然后操纵JRE条目成为JDK条目!添加JDK后,单击JDK条目旁边的复选框.这应该已经解决了这篇文章中描述的问题. (3认同)
  • 真奇怪 .因为对话框的标题显示这应该放置`Installed JREs`而不是jdk文件夹.但它真的解决了我的问题.谢谢 (3认同)

ksn*_*tum 117

对我来说,在我对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>
Run Code Online (Sandbox Code Playgroud)

其他说明

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

-vm
C:\Program Files\Java\jdk1.7.0_45\bin\javaw.exe
Run Code Online (Sandbox Code Playgroud)

最后,我从来没有在JDK中执行m2e,但是明确地设置Java编译器(如上所述)就可以了.

  • 这个解决方案应该作为最后的手段来实现,因为项目本身被修改为耦合到您当前的开发机器. (9认同)

msa*_*gel 110

  1. JAVA_HOME环境变量设置为JDK根文件夹 - 如果运行命令行或maven(mvn)则需要.
    • (在谷歌搜索JAVA_HOME更多信息)
  2. 在Java Compiler部分的项目属性中,选择所需的JDK - 如果直接从eclipse运行

  • 注意JAVA_HOME不会以"bin"结尾,而是指向JDK的*root*. (9认同)
  • @DuncanJones,如果您运行命令行或 maven(此变量为 google),则首先需要,其次 - 如果您直接从 eclipse 运行, (2认同)

jla*_*s62 36

当我试图在eclipse中进行maven构建时,我遇到了这个错误.

对我来说,答案是Run- > Run Configurations,选择Maven Build我正在运行(从左侧面板).然后,我单击JRE选项卡并选择该选项Workspace default JRE


Edu*_*nis 36

在我的情况下,通过这样做解决了:

转到"运行时配置"并将JRE配置为JDK.

为运行时选择正确的JDK

选择默认JRE

我复制了答案以防万一由于某种原因被删除,但是来源就在这里


小智 29

转到Windows - >首选项 - > Java - >已安装的JRE

可能已经添加了jre 在此输入图像描述

单击添加 - >标准VM - >下一步 - >目录

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

然后点击完成.

你会看到这样的窗口在此输入图像描述

选择JDK - > Apply - > Ok

你完成了.


ank*_*kit 14

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

环境变化

  • 如果您使用的是eclipse,请参阅/sf/answers/1489534791/
  • 如果你正在使用intellij,只需JAVA_HOME从项目目录中添加打开命令提示符并运行mvn clean install(不要使用intellij终端).


Sir*_*lot 13

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

在我的例子中,实际的JRE在项目特定的构建路径中被错误地用作JRE系统库,这显然超越了这里讨论的所有其他设置.

如果是这样,请尝试以下方法:

  1. 打开Java Build Path的项目特定库:右键单击"Project> Build Path> Configure Build Path ...",然后选择"Libraries"选项卡.
  2. 选择"JRE System Library"条目并点击"Remove".
  3. 点击"添加库......".
  4. 弹出一个向导.选择"JRE系统库"并点击"下一步>".
  5. 现在选择正确的JDK(在我的情况下是"Workspace default JRE",我使用JDK配置).
  6. 点击"完成"关闭向导.
  7. 单击"确定"关闭"属性"对话框.


bru*_*ais 9

如果jaipster的答案不起作用,另一种方法是转到:
Window> Preferences> Java> Installed JREs

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

这对我有用.


Mah*_*der 8

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

set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_60
start cmd.exe /k "cd c:\aem_proj\sis\aau"
Run Code Online (Sandbox Code Playgroud)


Dha*_*ria 7

在尝试使用我的项目应用程序构建jar文件时遇到了同样的问题mvn clean install,尽管应用程序在从Eclipse运行时工作正常.

问题确实太天真了,我没有设置JAVA_HOME环境变量.我所要做的就是将JAVA_HOME环境变量设置为JDK目录,确保它不是"\ bin"并且没有分号";" .

在此输入图像描述

我的理解如下:

该应用程序在Eclipse工作细如JRE系统库指的是JRE 的JDK文件夹,而不是外部JRE文件夹中没有JDK.[正如其他答案所解释的那样]

此配置不适用于我们在命令提示符下运行的maven命令.它仍然会查找JAVA_HOME变量来访问JRE系统库,当找不到它时,它会引用没有JDK的外部JRE文件夹.


小智 7

问题陈述= 此环境中未提供编译器。也许您在 JRE 而不是 JDK 上运行?智能

解决方案

请像下面这样设置环境变量来解决问题

变量名:JAVA_HOME

变量值:C:\Program Files\Java\jdk1.8.0_202

变量名:M2_HOME

变量值:C:\Program Files\apache-maven-3.6.0

此外,在“系统变量”中添加 Java 和 maven 路径,如下所示:

  1. C:\Program Files\Java\jdk1.8.0_202\bin

  2. C:\Program Files\apache-maven-3.6.0\bin


Naf*_*shi 7

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

1 . 转到File--> Settings--> Build, Execution, Deployment--> Build Tools--> Maven-->Importing

2 . 如下图设置JDKImporterJAVA_HOME

在此处输入图片说明

JAVA_HOME应该JDK在 Environment Variables --> System variables 中设置为path 并添加%JAVA_HOME%\bin到 Path System variables


小智 6

有几个选项可供指定.

步骤:项目资源管理器中的项目正确转到运行 - >运行配置 - >单击Maven构建 - >单击构建配置/或创建新配置.您将在下面看到窗口作为给定的快照,单击那里的JRE选项卡.

您看到有3个选项1)工作区默认JRE 2)执行环境3)备用JRE 在此输入图像描述 1)工作区默认JRE从顶部的"窗口"菜单设置 - >首选项 - > Java - >已安装的JRE - 在这里你可以添加你的jdk 在此输入图像描述 2)执行环境jdk可以在@ksnortum提到的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>
Run Code Online (Sandbox Code Playgroud)

3)备用JRE可用于从目录中选择jdk


Flo*_*n D 5

对我而言,JRE位于JDK路径之前的PATH环境变量中

  1. C:\ ProgramData \ Oracle \ Java \ javapath
  2. C:\ env \ jdk1.8.0_151 \ bin

因此,我删除了1.交换它们也可能会解决。


Kri*_*lan 5

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

我去了Preferences-> Java-> Installed JRE,在这里没有看到JDK。我只在这里看到了JRE。因此,我添加了JDK,然后取消选中了JRE。然后检查了JDK。然后,我使用“运行配置”运行了POM文件。选择选项卡JRE并选择选项“ Workspace Default ...”。这是图像

在此处输入图片说明

在此处输入图片说明


归档时间:

查看次数:

1069088 次

最近记录:

6 年,3 月 前