【问题标题】:Jenkins not recognizing my java in linux詹金斯在 linux 中无法识别我的 java
【发布时间】:2015-01-27 10:48:16
【问题描述】:

我正在使用 OpenSuse 并尝试使用 rpm 安装 Jenkins。我在这方面有很多麻烦:

aquarius:/home/jeevan/Downloads # service jenkins start
Job for jenkins.service failed. See 'systemctl status jenkins.service' and 'journalctl -xn' for details.

这个问题在 Jenkins website 中明确说明是一个 Java 问题。

但我已经通过从 oracle 网站下载并配置了“update-alternatives”在我的机器上安装了 java

aquarius:/usr/lib/jenkins # java -version
java version "1.8.0_25"
Java(TM) SE Runtime Environment (build 1.8.0_25-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)
aquarius:/usr/lib/jenkins # javac -version
javac 1.8.0_25
aquarius:/usr/lib/jenkins # whereis java
java: /usr/bin/java /usr/lib64/java /etc/java /usr/share/java
aquarius:/usr/lib/jenkins # echo $JAVA_HOME
/usr/java/latest
aquarius:/usr/lib/jenkins # update-alternatives --config java
There are 3 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                       Priority   Status
------------------------------------------------------------
  0            /usr/lib64/jvm/jre-1.7.0-openjdk/bin/java   17147     auto mode
* 1            /usr/java/jdk1.8.0_25/bin/java              1         manual mode
  2            /usr/lib64/jvm/jre-1.5.0-gcj/bin/java       1500      manual mode
  3            /usr/lib64/jvm/jre-1.7.0-openjdk/bin/java   17147     manual mode

Press enter to keep the current choice[*], or type selection number: 1
aquarius:/usr/lib/jenkins # update-alternatives --config javac
There are 2 choices for the alternative javac (providing /usr/bin/javac).

  Selection    Path                                     Priority   Status
------------------------------------------------------------
  0            /usr/lib64/jvm/java-1.5.0-gcj/bin/javac   1500      auto mode
* 1            /usr/java/jdk1.8.0_25/bin/javac           1         manual mode
  2            /usr/lib64/jvm/java-1.5.0-gcj/bin/javac   1500      manual mode

Press enter to keep the current choice[*], or type selection number: 1
aquarius:/usr/lib/jenkins # ls
jenkins.war                                                                                                                                                                                     
aquarius:/usr/lib/jenkins # whereis jenkins                                                                                                                                                     
jenkins: /usr/lib/jenkins                                                                                                                                                                       
aquarius:/usr/lib/jenkins # 

谁能给我一个解决方案。

【问题讨论】:

    标签: java linux jenkins opensuse


    【解决方案1】:

    您正在使用 java 8 启动 jenkins。这是一个相当新的 jdk,最近刚刚获得了生产就绪状态。

    jenkins JIRA 中的这个错误描述了一个类似的情况:https://issues.jenkins-ci.org/browse/JENKINS-22270

    建议的解决方案是切换到 java 7。你试过了吗?

    【讨论】:

    • 我有另一个系统,它使用 jdk 8 设置并且工作正常。这里有两个系统 jdk 8 + jenkins 工作正常。
    • 如果它在其他系统中使用 jdk 8,它需要使用 jdk 8 对吗?我认为缺少一些链接。如何找到它?
    • 嗯,根据詹金斯文档,理论上它应该适用于任何 jdk >=1.6。所以1.8应该没问题。
    • 我尝试为 /usr/bin/jar 创建一个链接,现在“service jenkins start”正在运行。但是在浏览器中什么都没有出现。现在,如果我执行“service jenkins status”,它会显示“Unit jenkins.service 进入失败状态。”
    • 我从来没有使用过 ubuntu 替代机制,因为我总是遇到一些问题。我总是手动安装 java,只需在/opt 中用 java 复制解压的 tar,例如在/opt/jdk1.7_51 中,然后将符号链接/opt/jdk 指向我要使用的java,然后在/usr/local/bin 中创建符号链接,例如sudo ln -s /opt/jdk/bin/java /usr/local/bin/java 这样我就有了一个非常灵活的机制来切换java版本,安装新版本等。也许你可以自己安装java并改变jenkins开始它?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-30
    • 1970-01-01
    相关资源
    最近更新 更多