我们在一个奇怪的 unix-ish 开发平台下使用 maven 时遇到了一些问题。maven 编译器插件抱怨tools.jar
在默认安装的 java 中由于奇怪的 JDK/JRE 混淆而无法找到。
[ERROR] 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: our-java-home-dir/../lib/tools.jar -> [Help 1]
../lib/tools.jar
应该是真的lib/tools.jar
。java安装(Java 7)似乎是一个JDK,但不知何故java将它检测为只是一个JRE,因此造成了混乱。在查看 java 代码在做什么时,它一定认为我们安装了 JRE,并且期望JAVA_HOME
指向jre
真正的JAVA_HOME
. 再多的复制、符号链接或其他黑客行为似乎都无法让我们../lib
与lib
.
我们已经在 intertubes 上看到了很多类似的问题,但没有一个有太大帮助。我们无法像在其他平台上那样重新安装 Java 或任何解决方案,但它应该是一个完整的 JDK,并且在bin
子目录中包含所有 j*tools。