作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个 CentOS 服务器,我正在尝试将 jenkins 作为服务运行:
service jenkins start
我以 root
用户身份运行,我收到以下响应:
Starting Jenkins bash: /usr/bin/java: No such file or directory
[FAILED]
我在命令行中echo
了一些东西:
[root@xyz opt]# echo $JAVA_HOME
/opt/jdk
[root@xyz opt]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin:/opt/jdk/bin:/opt/grails/bin
[root@xyz opt]# java -version
java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)
[root@xyz opt]# which java
/opt/jdk/bin/java
我在任何 jenkins 文件中都看不到任何 java 配置。有什么想法吗?
最佳答案
Jenkins needs java to start and in your case in
/usr/bin/
directoryjava
is not available
如果你去 /etc/init.d/
并打开 jenkins
文件你会发现:
candidates="
/etc/alternatives/java
/usr/lib/jvm/java-1.6.0/bin/java
/usr/lib/jvm/jre-1.6.0/bin/java
/usr/lib/jvm/java-1.7.0/bin/java
/usr/lib/jvm/jre-1.7.0/bin/java
/usr/lib/jvm/java-1.8.0/bin/java
/usr/lib/jvm/jre-1.8.0/bin/java
/usr/bin/java
"
这些是 jenkins 寻找 java 的路径,在您的情况下,java 不存在于上述任何路径中。
因此,寻找您拥有 java 的路径,并将该路径添加到上面的 jenkins 文件中。
既然你在 /opt/jdk/bin
中有 java,那么在 jenkins
文件中添加:
candidates="
/opt/jdk/bin/java <----Add here
/etc/alternatives/java
/usr/lib/jvm/java-1.6.0/bin/java
/usr/lib/jvm/jre-1.6.0/bin/java
/usr/lib/jvm/java-1.7.0/bin/java
/usr/lib/jvm/jre-1.7.0/bin/java
/usr/lib/jvm/java-1.8.0/bin/java
/usr/lib/jvm/jre-1.8.0/bin/java
/usr/bin/java
"
关于java - 启动 Jenkins bash :/usr/bin/java: No such file or directory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20031475/
我是一名优秀的程序员,十分优秀!