Java编译错误无法配置JAVA_HOME

标签 java jenkins javac

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

Unable to locate the Javac Compiler in: /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/../lib/tools.jar Please ensure you are using JDK 1.4 or above and not a JRE (the com.sun.tools.javac.Main class is required). In most cases you can change the location of your Java installation by setting the JAVA_HOME environment variable.

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 对于编译器。这是为什么???

问题似乎出在代码上..它指向/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/../lib/的tools.jar,而它需要查看 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

关于Java编译错误无法配置JAVA_HOME,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13172014/

相关文章:

java - file.html 在本地主机上正确显示,但在服务器上不正确显示

jenkins - 如何屏蔽 Jenkins Pipeline 项目中的密码字段?

jenkins - 是否可以反编译 Jenkins 插件?

java - 用于在 Jenkins 中重置密码的 REST API

java - javac失败,找不到符号

java - 在没有父类(super class)的情况下调用 super()?

java - 我该如何进行以下 hibernate 映射?

java - Twitter - 查询特定地理位置半径内的推文

java - 如何修复 “Error: Can not find or load the main class”?

java - 无法阻止 ant 生成编译器 Sun 专有 API 警告