jenkins启动报Unsupported major.mino
自从上半年,将tomcat做为容器,并将jenkins放入其中,服务一直都特别正常,并且jenkins完成各项交于其的任务;我内心还是很欣慰的。但是。。。。。
今儿来到公司,查看总结上周执行情况,发现jenkins网页访问有问题,不仅是慢能形容,加载页面有点花,去查看了下tomcat服务,是正常的;重新刷新了一下还是有问题;果断将tomcat服务重启,结果问题就更加严重了,jenkins整个页面都无法访问了,这也就充分说明了jenkins服务出问题了。
问题出现了,重启无济于事,去查找日志;打开tomcat日志,进入/usr/local/apache-tomcat-8.5.4/logs目录,查看日志,发现tomcat启动成功,在浏览器中访问:http://ip:8080,可以访问到tomcat的主页;再往下面看,发现jenkins启动过程中报错如下:
圈重点了哈,Unsupported major.minor version 52.0,主要是这个错误,就是说不支持52版本
Stanford parse和jdk版本对应关系如下
J2SE 8 = 52,
J2SE 7 = 51,
J2SE 6.0 = 50,
J2SE 5.0 = 49,
JDK 1.4 = 48,
JDK 1.3 = 47,
JDK 1.2 = 46,
JDK 1.1 = 45
看到上文及上图是否明白了呢,基本意思是这样,就是jenkins用高版本jdk运行过,再重新用低版本运行就报错了(想必大家知道jdk高版本兼容低版本,低版本不兼容高版本)。就像大家理解的那样,jdk低版本不能运行高版本运行过的项目。
tomcat部署在linux环境上了,我个人用户查看的jdk版本是1.8的;但是tomcat我是用root用户启动的,切换到root用户,查看jdk版本,果然jdk是1.7版本。so将root用户的环境变量中JAVA_HOME修改为1.8版本。重启tomcat,查看日志,网页访问,都正常。问题解决了。