【问题标题】:Java Compilation error Not able to configure JAVA_HOMEJava 编译错误 无法配置 JAVA_HOME
【发布时间】:2012-10-21 17:47:59
【问题描述】:

当我运行 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 对于编译器。为什么会这样???

似乎问题出在代码上..它指向 /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/ 但无济于事.任何解决方案... 无论如何,感谢您的回答..

【问题讨论】:

  • 您是否尝试过设置您的 JAVA_HOME 环境变量?
  • 尝试 'which java' 命令,然后尝试 'java -version' 然后查看你安装 jdk 的位置或确认你有 jdk 或只有 JRE
  • 我的 JDK 指向 /jdk1.7.0_05/bin/java

标签: java jenkins javac


【解决方案1】:

你需要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

【讨论】:

  • 使用它并检查您安装的版本是什么,/usr/sbin/alternatives --config java 如果 jdks 可用,您可以在此处选择您的版本。
  • /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java 这是我正在使用的......但错误说它不包含 tools.jar
  • 您似乎仍然指向 jre。我认为最好安装新版本的 jdk 而不是使用 openjdk。
  • 嘿,谢谢伙计……看来问题出在代码上……它指向 /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/ 但无济于事。
【解决方案2】:

卸载已安装的 JRE。只保留一个由 JAVA_HOME 定义的 JAVA,并针对 JAVA_HOME 定义您的 lib 和类路径。

【讨论】:

    猜你喜欢
    • 2015-11-03
    • 1970-01-01
    • 2019-04-01
    • 1970-01-01
    • 2018-04-14
    • 1970-01-01
    • 2011-07-25
    • 2013-08-17
    • 1970-01-01
    相关资源
    最近更新 更多