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

Tom*_*ory 5 java maven

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

无法执行目标org.apache.maven.plugins:maven-compiler-plugin:2.5.1:项目XYZ上的编译(default-compile):致命错误编译:找不到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)

Tom*_*ory 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,但我仍然收到同样的错误.


Lij*_*ohn 5

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