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

问题描述 投票:5回答:6

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

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

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

笔记:

  • 系统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编译器的插件配置的可执行文件设置为C:/的Java / jdk1.7.0_75 /斌/的javac.exe)
java maven
6个回答
9
投票

已解决的问题:将系统env变量JAVA_HOME设置为Java JDK 1.7修复了该问题。

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

笔记:

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

5
投票

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


1
投票

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

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

然后,在eclipse上,右键单击您的项目并转到Properties - > Java Build Path - > Libraries

单击ADD External JARs按钮。

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

现在,tools.jar应该列在Libraries上。

单击“确定”关闭窗口。

现在,运行Maven安装。

这对我有用。


0
投票

确保Eclipse指向JDK而不是JRE。为此:Window ==> Preferences ==> Java ==> Installed JRES ==> Add button ==> Standard VM并添加JDK路径。


0
投票

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


0
投票

确保Eclipse指向JDK而不是JRE。为此:Window ==> Preferences ==> Java ==> Installed JRES ==> Add button ==> Standard VM并添加JDK路径。这很有效。

© www.soinside.com 2019 - 2024. All rights reserved.