致命错误编译:找不到tools.jar - maven-compiler-plugin

时间:2015-03-24 14:07:19

标签: java maven

问题:当我编译带有maven的项目时,会出现以下问题(注意:我正在使用Windows):

  

无法执行目标   org.apache.maven.plugins:Maven的编译器插件:2.5.1:编译   项目XYZ上的(default-compile):致命错误编译:tools.jar   找不到:C:\ java \ jdk1.8.0_40 .. \ lib \ tools.jar - > [帮助1]

命令行和eclipse(Eclipse STS)都出错 - mvn clean; mvn install

注意:

  • 系统env变量JAVA_HOME设置为C:\ java \ jdk1.8.0_40
  • C:\ java \ jdk1.8.0_40 \ lib \ tools.jar有
  • 尝试清除本地maven仓库(.m2) - 仍然发生错误
  • 配置maven编译器插件指向C:/java/jdk1.7.0_75/bin/javac.exe可执行文件,其中source = target = 1.7 - 同样的错误
  • 尝试在eclipse中安装java 1.7.0_75并使用它(但maven仍然用于编译 - 右键单击​​项目,运行as,maven install):同样的错误(即使使用maven编译器' s插件配置的可执行文件设置为C:/java/jdk1.7.0_75/bin/javac.exe)

8 个答案:

答案 0 :(得分:9)

问题已解决: 将System env变量JAVA_HOME设置为Java JDK 1.7可以解决问题。

我尝试了jdk1.7.0_45和jdk1.7.0_75 - 他们都工作了。

注意:

  • 我想为编译器插件设置编译器可执行文件 pom.xml意味着在所有情况下都使用了可执行文件;
    显然它不是 - 在这个中,JAVA_HOME变量覆盖了它 案件。
  • 其他一些人有问题b / c他们的JAVA_HOME设置为a JRE而不是JDK。我的JAVA_HOME for Java 1.8设置为JDK 1.8,但我仍然收到同样的错误。

答案 1 :(得分:5)

在eclipse中构建项目时我也遇到过类似的问题(sts版本) 我发现问题是因为我在2个位置安装了jre并且我在eclipse中配置jre指向纯jre文件夹。 因此,只需检查你的jre是否指向jdk中的jre文件夹而不是任何其他jre,因为tools.jar位于jdk / lib中

答案 2 :(得分:1)

如果找不到tools.jar,请尝试在项目的eclipse依赖项中添加它。

首先,复制tools.jar的位置,看起来像这样 C:\ Program Files \ Java \ jdk1.x.x \ lib

然后,在eclipse上,右键单击您的项目并转到 属性 - > Java构建路径 - >库

点击添加外部JAR 按钮。

将上面复制的链接粘贴到“文件名”链接栏上,然后单击“确定”按钮。

现在,tools.jar应列在Libraries。

单击“确定”关闭窗口。

现在,运行Maven安装。

这对我有用。

答案 3 :(得分:1)

即使将Eclipse配置为使用 Window-> Preferences-> Java-> Installed JRES 中的 JDK ,当您尝试执行< strong> Maven构建

在这种情况下,请确保正确配置了Maven Build中的 JRE选项卡

转到运行->运行配置,打开 Maven Build 类别,然后执行以下操作之一:

  1. 确保已选择工作区默认JRE ,并且它指向JDK。
  2. 备用JRE 菜单中,选择已配置的JDK。

Run Configurations screenshot

答案 4 :(得分:0)

确保Eclipse指向JDK而不是JRE。 为了那个原因 : 窗口==&gt;偏好==&gt; Java ==&gt;安装JRES ==&gt;添加按钮==&gt;标准VM并添加JDK路径。

答案 5 :(得分:0)

当我将JDK添加到库时,问题就解决了。问题就像tools.jar没有被发现作为jre发布的一部分

答案 6 :(得分:0)

确保Eclipse是否指向JDK而不是JRE。为此:窗口==>首选项==> Java ==>已安装的JRES ==>添加按钮==>标准VM并添加您的JDK路径。 这行得通。

答案 7 :(得分:0)

我不知道这是否有帮助,我遇到了类似的问题:

Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.5.1:compile (default-compile) on project XYZ: Fatal error compiling: tools.jar not found: C:\java\jre1.8.0_271..\lib\tools.jar -> [Help 1].

于是我在jdk/lib中搜索tools.jar,找到了。我将它从 jdk lib 复制到 jre lib 文件夹。 我重新启动了我的 sts,它运行良好。