【问题标题】:Maven in Eclipse complains that "Unable to locate the Javac Compiler" whenever POM changed每当 POM 更改时,Eclipse 中的 Maven 都会抱怨“无法找到 Javac 编译器”
【发布时间】:2011-07-06 23:43:35
【问题描述】:

每次我在 Eclipse 中更改 pom.xml 时都会收到错误消息。

Build errors for myapp; org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.0.2:compile (default-compile) on project web: Compilation failure
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

我已经设置了 JAVA_HOME 环境变量。就是:JAVA_HOME=D:\Java\jdk1.6.0_23

谢谢。

【问题讨论】:

标签: java eclipse maven m2eclipse


【解决方案1】:

您的 JAVA_HOME 似乎设置不正确。您可以从终端回显 JAVA_HOME 并查看它指向的位置吗?从上面的错误日志看起来它指向程序文件文件夹。

【讨论】:

  • D:\Users\tom>set java_home JAVA_HOME=D:\Java\jdk1.6.0_23 我有那个文件夹。
  • 命令应该是------------ set JAVA_HOME=D:\Java\jdk1.6.0_23
  • 不行,我的命令是:set JAVA_HOME,结果是:JAVA_HOME=D:\Java\jdk1.6.0_23
【解决方案2】:

在 eclipse.ini 文件的最开始添加以下 两行 应该告诉 maven 在哪里可以找到 JDK:

-vm
C:\Program Files\Java\jdk1.6.0_23\bin\javaw.exe

或者你安装 JDK 的任何路径。

【讨论】:

【解决方案3】:

如果您在尝试从 eclipse 运行 maven 时遇到此问题,那么您可能需要参考this discussion,其中也概述了解决方案。

【讨论】:

  • 它似乎工作,但我仍然有一些错误:为 myapp 构建错误; org.apache.maven.lifecycle.LifecycleExecutionException: 未能执行目标 org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project web: 编译失败 执行 javac 失败,但可以不解析错误:
  • 我的最后一条评论是stacktrace。
  • 我有同样的问题,我无法通过这个答案来解决问题,你能看看stackoverflow.com/questions/12049566/…
【解决方案4】:

Window -> Preferences -> Java -> installed JREs -> Execution Enviroments -> 点击右侧的复选框

【讨论】:

    【解决方案5】:

    这是我为解决该问题所做的步骤(Eclipse 3.7 Indigo):

    Window -> Preferences -> Java -> installed JREs -> 我有一个来自 JDK 位置的 JRE,我的位置看起来像 C:\Program Files\Java\jdk1.6.0_26

    Window -> Preferences -> Java -> installed JREs -> Execution Environments -> 选择 JavaSE-1.6 并选择一个兼容的 JDK,它应该是上一步中设置的那个。

    【讨论】:

    • 我必须在 UI 中添加一个新的“标准 VM”条目,并为该条目指定我的 JAVA_HOME 文件夹到 JDK,然后我能够选中我添加的项目的复选框,如前所述。
    • 如果这不起作用,请仔细检查项目本身是否配置为使用 JDK 而不是 JRE。
    • Window -> Preferences -> Java -> installed JREs -> Execution Environments 帮了我很多。
    【解决方案6】:

    我也有类似的问题;您应该尝试从 POM 目录本身执行 mvn install,您接下来在 Eclipse 本身中执行的任何 Maven 安装都将在之后工作。

    【讨论】:

      【解决方案7】:

      我刚刚发现了同样的问题。运行时 JRE 在 eclipse 的所有其他部分都正确指定。

      我使用的是 eclipse 运行配置...

      运行配置 是另一个指定 java 运行时 JRE 的地方。 如果您使用的是 maven 运行配置,请打开它,单击 JRE 选项卡并选择正确的(JDK)“运行时 JRE”。

      【讨论】:

        【解决方案8】:

        我有一个类似的问题,它通过指定 maven-compiler-plugin 的属性得到解决,如下所示:

        <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <configuration>
        <!-- Need to provide the below properties as the current maven-compiler-plugin version is 2.0.2 and defaults to JDK 1.3 for compiling -->
                        <source>1.5</source>
                        <target>1.5</target>
                    </configuration>
                </plugin>
        

        我必须明确指定源和目标属性。似乎那里的编译还取决于版本 maven-compiler-plugin 及其默认的 JDK 设置。我的是 2.0.2,我收集的默认是 JDK 1.3。

        【讨论】:

          【解决方案9】:

          以上方法都不适合我,但是当我按照以下步骤操作时,问题就消失了。

          • 转到 Window -> 首选项 -> Java -> 已安装的 JRE
          • 选择您正在使用的 JRE(应该是 jdk 中的那个。例如:C:\Program Files\Java\jdk1.6.0_25\jre)
          • 编辑 -> 添加外部 JAR...
          • 浏览到 Java\jdk1.6.0_25\lib 并选择 tools.jar 并按 Enter
          • 完成确定

          【讨论】:

          【解决方案10】:

          Window -> Preferences -> Java -> installed JREs,添加 jdk6 指向你的 jdk(C:\Program Files\Java\jdk1.6.0_25),删除默认 jre6。它有效。

          【讨论】:

            【解决方案11】:

            这对我也有用:

            1. 转到窗口 -> 首选项 -> Java -> 已安装的 JRE
            2. 选择您正在使用的 JRE(应该是 jdk 中的那个。例如:C:\Program Files\Java\jdk1.6.0_25\jre)
            3. 按编辑 -> 添加外部 JAR...
            4. 浏览到 Java\jdk1.6.0_25\lib 并选择 tools.jar 并按 Enter
            5. 按完成和确定

            【讨论】:

              【解决方案12】:

              1.转到窗口 -> 首选项 -> Java -> 已安装的 JRE 2.选择你正在使用的JRE(应该是jdk里面的那个。例如:C:\Program Files\Java\jdk1.6.0_25\jre) 3.按编辑->添加外部JAR... 4.浏览到 Java\jdk1.6.0_25\lib 并选择 tools.jar 并按 Enter 5.按完成并确定..

              这对我有用。

              【讨论】:

                猜你喜欢
                • 2012-10-21
                • 2012-12-19
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2012-09-17
                • 2011-06-06
                • 1970-01-01
                • 2014-09-20
                相关资源
                最近更新 更多