5

当我尝试在我的 gwt-maven Projekt 上进行 maven-install 时,我收到此错误:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project MyProject: Compilation failure
[ERROR] Unable to locate the Javac Compiler in:
[ERROR] C:\Development\java jre7\..\lib\tools.jar
[ERROR] Please ensure you are using JDK 1.4 or above and
[ERROR] not a JRE (the com.sun.tools.javac.Main class is required).
[ERROR] In most cases you can change the location of your Java
[ERROR] installation by setting the JAVA_HOME environment variable.
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

JAVA_HOME已定。当我运行cmd "echo %JAVA_HOME%"时,它说C:\Development\jdk7这是正确的。不知道他为什么要找C:\Development\java jre7......

4

6 回答 6

14

看起来您的 JAVA_HOME 可能指向 JRE,而不是 JDK?

C:\Development\java jre7\..\lib\tools.jar

你有安装JDK吗?如果是这样,请将您的 JAVA_HOME 更改为指向 JDK。如果没有,请先下载 JDK,然后设置 JAVA_HOME。

更新

由于您是从 Eclipse 内部运行的,因此您的答案是SO - 您需要告诉 Eclipse 使用 JDK 而不是 JRE。

于 2013-01-05T16:31:39.623 回答
4

对于eclipse用户:
方式1:

  1. 右键单击 Eclipse 项目 -> 转到属性
  2. Java 构建路径 -> 库
  3. 单击 JRE System Library -> 单击右侧的编辑按钮 -> 单击已安装的 JRE
  4. 编辑 JRE -> 设置 JRE Home = JAVA_HOME(在我的情况下 JAVA_HOME 是 C:\Program Files\Java\jdk1.7.0_45)

方式二:

  1. 转到窗口 -> 首选项 -> Java -> 已安装的 JRE
  2. 将现有 JRE 位置编辑为:设置 JRE Home = JAVA_HOME 或 JAVA_HOME\jre(在我的情况下,路径是 C:\Program Files\Java\jdk1.7.0_45 OR C:\Program Files\Java\jdk1.7.0_45\jre )
  3. 单击完成和确定按钮

方式3:

  1. 转到窗口 -> 首选项 -> Java -> 已安装的 JRE
  2. 选择您正在使用的 JRE
  3. 按编辑-> 添加外部 JAR...
  4. 浏览到 Java\jdk1.7.0_45\lib 并选择 tools.jar 并按 Enter
  5. 单击完成和确定按钮
于 2014-04-23T07:14:05.903 回答
0

"C:\Development\java jre7" 必须在某个地方。仔细检查您的环境和脚本。它不能凭空发明出来。Maven 将尊重 JAVA_HOME,因此,某处某处正在使用该值。

于 2013-01-05T17:54:54.563 回答
0

如果您使用的是 eclipse,您还需要在 window > preferences > java > Installed JRE's 中添加,指向您正在使用的 JDK 版本。

于 2014-01-23T10:32:34.410 回答
0

在 Eclipse 中,导入 Maven 项目或调用“更新源”等操作在运行 Eclipse 的同一 JVM 中运行。如果该 JVM 来自不属于 JDK 的 JRE,则不会有 Java 编译器(tools.jar)。

因此,要从 Eclipse 中启动 Maven,用于启动的 JRE 也需要来自 JDK。默认情况下,Eclipse 会注册它启动的 JRE,但这可以配置如下:

转到“Window / Preferences ... / Java / Installed JREs”首选项页面

单击 JRE > 编辑

将 JRE Home 设置为与 JAVA_HOME 环境变量相同的值

于 2014-04-09T04:45:03.400 回答
0

如果出现这个错误Jenkins,那么你需要在Jenkins中设置JAVA_HOME的路径。

  1. 去管理詹金斯
  2. 全局配置工具 -> JDK
  3. 设置 JAVA_HOME 的路径:
于 2018-03-07T09:14:42.510 回答