Eclipse/Maven错误:"此环境中未提供编译器"

Ken*_*n L 70 java eclipse maven

我是Java企业开发世界的新手.我的组织的Java专家不在家庭休假,我被分配了维护他开发的一些Java应用程序的任务.在他离开之前,他在我的计算机上用Maven设置了Eclipse [Kepler SR1],它似乎工作正常.

现在我已经准备好部署我的第一个修改并需要运行Maven install,但是我无法让它工作 - 我在我的控制台上得到以下输出:

[错误]无法执行目标org.apache.maven.plugins:maven-compiler-plugin:3.1:在项目mrpapp上编译(default-compile):编译失败
[错误]此环境中未提供编译器.也许您运行的是JRE而不是JDK?

但我肯定运行JDK而不是JRE.我仔细检查了我的$JAVA_HOME(C:\Program Files (x86)\Java\jdk1.7.0_60),它的目录中确实有一个.javac.exebin

我附上了我的pom.xml文件副本供您审核.我确信那里有一些导致问题的东西,但我不确定它可能是什么.我正在使用Windows 7 64bit的笔记本电脑,如果您需要任何其他平台/环境信息,我也可以提供.

任何帮助将不胜感激.

Jor*_*pos 146

转到窗口→首选项→Java→已安装的JRE.

并查看是否有指向JDK路径的条目,如果没有,请单击" 编辑"按钮并放置您为JAVA_HOME环境配置的路径.

  • 谢谢你们俩!我去了Window-> Preferences-> Java-> InstalledJREs,看到我的默认值下面列出了一个不同的路径.我删除了那个,当我尝试Maven安装时,它运行没有错误.问题解决了! (4认同)
  • 为我工作.甚至还有jre8位置(Program Files(x86)).我把它改成了jre7..worked. (2认同)

小智 19

Screen_shot 将"tools.jar"添加到已安装的JRE.

  1. Eclipse- > window- > preference.
  2. 选择installed JREs- >Edit
  3. 添加外部罐子
  4. tools.jarjava/JDKx.x/lib文件夹中选择.
  5. 单击完成

  • 我在 jdk-10.0.1 中找不到 tools.jar。 (2认同)

Gub*_*ron 15

进入Window> Preferences> Java> Installed JREs>并检查已安装的JRE.你应该有一个JDK条目.

https://cduu.wordpress.com/2013/03/08/maven-eclipse-compiler-error-no-compiler-is-provided-in-this-environment/


小智 11

我尝试了所有的东西; 对我有用的是:

  1. 右键单击Eclipse项目并导航到属性.
  2. 单击Java Build Path并转到Libraries选项卡.
  3. 检查那里添加的Java版本; 是JRE还是JDK?
  4. 如果您正在使用Maven项目并希望构建解决方案.
  5. 选择添加了JRE的JRE,然后单击"删除".
  6. 单击添加外部类文件夹,然后从系统中进行选择以添加JDK安装.
  7. 单击"应用"和"确定
  8. 重启Eclipse.
  9. 构建成功.


小智 10

在 pom.xml 中添加此配置

<project ...>
    ...
    <build>
        ...
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                    <fork>true</fork>
                    <executable>C:\Program Files\Java\jdk1.7.0_79\bin\javac</executable>
                </configuration>
            </plugin>
        </plugins>
    </build>
    ...
</project>
Run Code Online (Sandbox Code Playgroud)


Vai*_*rma 10

当我运行时mvn compile,我在控制台中收到以下错误:

[INFO] Changes detected - recompiling the module!
[WARNING] File encoding has not been set, using platform encoding Cp1252, i.e. build is platform dependent!
[INFO] Compiling 1087 source files to C:\Code\DevVNextComplete\Development_vNext\Source\JARS\target\classes
[INFO] -------------------------------------------------------------
[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
Run Code Online (Sandbox Code Playgroud)

[解决]

我在环境变量中添加了 JAVA_HOME 变量,然后它就起作用了。

在此输入图像描述


小智 5

这对我有用。1.点击窗口->首选项->安装的JRE。2. 检查您的参考是否适用于 JDK,如下图所示。 在此处输入图片说明

如果没有,单击添加-> 标准 VM -> 通过选择目录提供 JDK 路径,然后单击完成,如图所示 在此处输入图片说明

  1. 最后一步,点击 Installed JREs -> Execution Environments -> 选择你的 JDE,如下图所示 在此处输入图片说明

  2. Maven -> 清洁