当我运行Jenkins时,它会从存储库中签出代码并执行mvn package或某些命令。我收到此错误:


  无法在以下位置找到Javac编译器:/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/../lib/tools.jar
  请确保您使用的是JDK 1.4或更高版本,而不是JRE(需要com.sun.tools.javac.Main类)。
  在大多数情况下,您可以通过设置JAVA_HOME环境变量来更改Java安装的位置。


My JAVA_HOME points at jdk location only.Still it looks at


/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/../lib/tools.jar
为编译器。那是为什么???

似乎问题在于代码..它指向tools.jar的/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/../lib/,但它需要查看存在jar的/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/lib/我尝试将jar复制到jre / lib /但无济于事。为了这...
无论如何,谢谢你的答案。

最佳答案

您需要jdk(Java开发工具包)来编译Java程序。 jre仅用于运行已编译的Java程序。在您的情况下,它指向jre,这就是为什么要得到这个。
您可以下载jdk并安装。

您可以从此处下载jdk rpm

http://www.oracle.com/technetwork/java/javase/downloads/jdk7u9-downloads-1859576.html


如果已经安装,请使用此选项来选择Java替代品。

  /usr/sbin/alternatives --config java

10-05 19:07