我的 VPS centos 有问题,它运行 WHM 作为容器。我需要运行 open-jdk 来启动 jenkins ci,但问题是 oracle 的 java 不断弹出。从服务器重启:
root@host [~]# java -version
java version "1.6.0_37"
Java(TM) SE Runtime Environment (build 1.6.0_37-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.12-b01, mixed mode)
和我的系统:
root@host [~]# cat /etc/*release*
cat: /etc/lsb-release.d: Is a directory
CentOS release 5.9 (Final)
我的 $PATH 指向的/usr/local/jdk/bin:/usr/kerberos/sbin:/us...
是 oracle java 所在的位置。所以我的快速解决方案是将 openjdk 添加到/etc/profile
并source /etc/profile
在每次重新启动时调用。这是我添加到的内容/etc/profile
:
#as per: http://www.24k.com.sg/blog-29.html
JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.19.x86_64
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH JAVA_HOME CLASSPATH
export PATH=${PATH/\/usr\/local\/jdk\/bin:}
#end as per
现在java -version
返回了openjdk,但是javac -version
没有找到!:
root@host [~]# java -version
java version "1.7.0_19"
OpenJDK Runtime Environment (rhel-2.3.9.1.el5_9-x86_64)
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)
root@host [~]# javac -version
-bash: javac: command not found
另外,尽管java -version
返回打开 jdk,当我查看 csf 访问日志时,我可以看到 jenkins 仍在调用 oracle jdk。
root@host [~]# service jenkins reload
Shutting down Jenkins [ OK ]
Starting Jenkins [ OK ]
csf ldf 日志,注意它仍然调用 oracle java /usr/local/jdk1.6.0_37
:
May 17 07:32:30 host lfd[4392]: *User Processing* PID:4324 Kill:0 User:jenkins VM:802(MB) EXE:/usr/local/jdk1.6.0_37/bin/java CMD:/usr/local/jdk/bin/java -Dcom.sun.akuma.Daemon=daemonized -Djava.awt.headless=true -Djava.io.tmpdir=/var/lib/jenkins/tmp -DJENKINS_HOME=/var/lib/jenkins -jar /usr/lib/jenkins/jenkins.war --logfile=/var/log/jenkins/jenkins.log --webroot=/var/cache/jenkins/war --daemon --httpPort=8080 --ajp13Port=8009 --debug=5 --handlerCountMax=100 --handlerCountMaxIdle=20 --prefix=/jenkins --accessLoggerClassName=winstone.accesslog.SimpleAccessLogger --simpleAccessLogger.format=combined --simpleAccessLogger.file=/var/log/jenkins/access_log
让 open-jdk 与 jenkins 协同工作是解决此问题的第一步......https://serverfault.com/questions/507885/cant-install-jenkins-on-centos#comment571671_507885 任何帮助,将不胜感激 ;)
答案1
我假设你已经安装了 java-1.7.0-openjdk-devel。如果你仍然无法在路径中使用 javac,那么请使用 update-alternatives 进行配置:
# update-alternatives --config javac
如果缺少 java7 链接,请添加:
# update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java-1.7.0-openjdk.x86_64/bin/javac 1