問題:公司的tomcat用的是jdk1.7的,但自從jenkins2.54版本以上卻只支持jdk1.8
linux中centos7.7服務器上oracle的jdk1.8,systemctl status jenkins提示
Stopped LSB: Jenkins Automation Server.
Jun 6 07:48:04 localhost systemd: Starting LSB: Jenkins Automation Server…
Jun 6 07:48:04 localhost jenkins: Starting Jenkins Jun 06, 2020 7:48:04 AM Main verifyJavaVersion
Jun 6 07:48:04 localhost jenkins: SEVERE: Running with Java class version 51, which is older than the Minimum required version 52. See https://jenkins.io/redirect/java-support/
Jun 6 07:48:04 localhost jenkins: java.lang.UnsupportedClassVersionError: 51.0
Jun 6 07:48:04 localhost jenkins: at Main.verifyJavaVersion(Main.java:182)
Jun 6 07:48:04 localhost jenkins: at Main.main(Main.java:142)
Jun 6 07:48:04 localhost jenkins: Jenkins requires Java versions [8, 11] but you are running with Java 1.7 from /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.171-2.6.13.2.el7.x86_64/jre
Jun 6 07:48:04 localhost jenkins: java.lang.UnsupportedClassVersionError: 51.0
Jun 6 07:48:04 localhost jenkins: at Main.verifyJavaVersion(Main.java:182)
Jun 6 07:48:04 localhost jenkins: at Main.main(Main.java:142)
Jun 6 07:48:04 localhost jenkins: [ OK ]
Jun 6 07:48:05 localhost systemd: Started LSB: Jenkins Automation Server.
原因分析:
1、公司的jdk1.7版本不能換,不然影響業務軟件兼容性,可能會出問題。
2、將jenkins換爲支持jdk1.7的版本,實驗結果:很多插件都只支持2.60版本以上的jenkins,導致大部分插件安裝失敗。
3、系統再安裝一個jdk1.8的給jenkins專用,再修改啓動文件的jdk路徑即可。
linux下切換jdk版本
alternatives --config java (後輸入版本前面的數字)
在這裏插入圖片描述
java -version (查看jdk的版本)
安裝步驟:
1.官網下載jdk-8u191-linux-x64.tar.gz,安裝到/usr/local/java-1.8/jdk1.8.0_191中
2.修改jenkins啓動文件如下:(rpm包安裝的jenkins)
vim /etc/init.d/jenkins
candidates="
/usr/local/java-1.8/jdk1.8.0_191/bin/java #echo $JAVA_HOME 將JAVA_HOME/bin/java加在此處
/usr/java/jdk1.7.0_75/bin/java
/etc/alternatives/java
/usr/lib/jvm/java-1.8.0/bin/java
/usr/lib/jvm/jre-1.8.0/bin/java
/usr/lib/jvm/java-1.7.0/bin/java
/usr/lib/jvm/jre-1.7.0/bin/java
/usr/bin/java
"
添加jdk1.8的安裝路徑進去即可
結果:可行,系統原jdk不變,通過源碼包安裝的方式安裝jdk1.8版本的再給jenkins指定路徑實現。
優點:即不影響原有java項目,也能實現jenkins最新版的升級使用