Maven 构建失败:“无法在以下位置找到 Javac 编译器:jre 或 jdk 问题”

Posted

技术标签:

【中文标题】Maven 构建失败:“无法在以下位置找到 Javac 编译器:jre 或 jdk 问题”【英文标题】:Maven build failed: "Unable to locate the Javac Compiler in: jre or jdk issue" 【发布时间】:2011-01-14 10:04:24 【问题描述】:

我的 JAVA_HOME 设置为:

C:\Program Files (x86)\Java\jdk1.6.0_18

运行maven install 后,我从Eclipse 收到此消息:

原因:

Unable to locate the Javac Compiler in:
  C:\Program Files (x86)\Java\jre6\..\lib\tools.jar
Please ensure you are using JDK 1.4 or above and
not a JRE (the com.sun.tools.javac.Main class is required).
In most cases you can change the location of your Java
installation by setting the JAVA_HOME environment variable.

我确定这是最棘手的部分

请确保您使用的是 JDK 1.4 或 以上和 不是 JRE

当我运行配置时,它设置为 JRE6。如何将其更改为已安装的 JDK 1.6?

我什至尝试修改插件:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>2.0.2</version>
    <configuration>
        <source>1.6</source>
        <target>1.6</target>
        <executable>C:\Program Files (x86)\Java\jdk1.6.0_18\bin</executable>
    </configuration>
</plugin>

我还是遇到同样的错误。

我使用 Eclipse Maven 插件。如何在 Eclipse 中从 JRE 更改为 JDK?

【问题讨论】:

您是否使用命令行set 命令仔细检查以确保 JAVA_HOME 设置为您认为的? 我每天都在使用 java .. 这里一切正常:java -version .6.0_18-ea" time Environment (build 1.6.0_18-ea-b04) ) Client VM (build 16.0-b11, mixed mode, sharing) 设置可执行文件时设置true 这实际上并没有告诉我们哪个 Java 安装 java -version 正在运行;它可能是 JRE 或 JDK 安装。 javac -version 会更有用一点。但是,即使 PATH 正确且 JAVA_HOME 错误,这些仍然会显示您的预期。 另外,可执行文件应该是...\bin\javac,你必须指定实际的可执行文件,而不仅仅是路径。 【参考方案1】:

转到 Eclipse 的菜单 WindowPreferences...JavaInstalled JREs 应该指向你安装的JDK,不是JRE。

【讨论】:

但这也在许多以前的答案中。【参考方案2】:

转到 Eclipse → PreferencesJavaInstalled JREs → 选择您指向的 JRE 位置并点击 Edit 添加外部 JAR 并选择 tools.jar 文件。

【讨论】:

但这也在许多以前的答案中。

以上是关于Maven 构建失败:“无法在以下位置找到 Javac 编译器:jre 或 jdk 问题”的主要内容,如果未能解决你的问题,请参考以下文章

由于未能构建依赖项的发布版本,Maven 发布构建在 Jenkins 中失败

如果某个工件已经存在,如何使 Maven 构建失败

如果 JUnit 覆盖率低于某个阈值,如何使 Maven 构建失败

Maven 包有效,但 Intellij 的构建失败

maven-exec-plugin 可以使构建失败吗?

maven-exec-plugin 可以使构建失败吗?