博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Tomcat和JDK版本的对应关系
阅读量:6689 次
发布时间:2019-06-25

本文共 863 字,大约阅读时间需要 2 分钟。

当我们在谈论Tomcat与JDK版本的对应关系的时候,我们实际上在讨论两个问题。

第一个是,我们想安装了某个版本的Tomcat(比如Tomcat7),需要安装哪个版本的JDK,才能把Tomcat运行起来。

第二个是,如果我们安装某个Tomcat+JDK组合(比如Tomcat7+JDK1.7),能否把我们某个版本JDK(比如JDK1.6)编写的网站给运行起来。

 

对于第一个问题,可以通过最后一列得到答案(下载的Tomcat的RUNNING.txt和RELEASE-NOTES也有当前版本所需JDK说明):

所以如果安装Tomcat7要安装JDK1.6及之后版本才能正常启动Tomcat(如果使用不匹配的jdk比如Tomcat7用jdk1.5执行startup.sh输出也提示启动成功,但其实进程没成功启动的,查看logs/catalina.out会看到报错:

Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file)

 

对于第二个问题,其实到此我们要言明,第一个问题和第二个问题都有一个同样本质的答案:低版本JDK无法运行高版本JDK编译的代码。

所以如果你安装了Tomcat7+JDK1.7这个组合,那么JDK1.7及之前版本JDK编写的网站可以正常运行,JDK1.8编写的不可以。

(同理我们可以推测,Tomcat7是用JDK1.6编译的,Tomcat8是用JDK1.7编译的,Tomcat9是用JDK1.8编译的)

 

下图是中我用JDK1.7编译了一个HelloWorld程序,可以看到JDK1.7和1.8运行正常,而JDK1.6运行报错(Unsupported major.minor version 51.0):

(51.0是内部编号,JDK1.4--48.0,JDK1.5--49.0,JDK1.6--50.0,JDK1.7--51.0,JDK1.8--52.0)

 

参考:

转载地址:http://tihao.baihongyu.com/

你可能感兴趣的文章
微软云创益大赛颁奖仪式现场
查看>>
DPM2012系列之十九:配置辅助备份服务器
查看>>
xmanager5连接CENTOS6
查看>>
《微软云计算Microsoft Azure部署与管理指南》即将上市!!!
查看>>
SpreadJS纯前端表格控件V11.1震撼来袭
查看>>
SIEM期待实时安全分析
查看>>
各位最近找我索要CCNA200-120的资源的同志些
查看>>
寻找***内网登陆外网的秘密通道
查看>>
iOS开发那些事--OCUnit测试框架
查看>>
foreman架构的引入7-Foreman结合mcollective完成push动作
查看>>
Tip:SCOM 2012 R2推送安装代理报错处理
查看>>
Drupal7配置之上传进度条
查看>>
《从零开始学Swift》学习笔记(Day 53)——do-try-catch错误处理模式
查看>>
一对一培训之视频免费分享-2018-05-03-SFB 2015-外部不能登录(排错笔记)
查看>>
“互联网+”:工业革命的需求与变革
查看>>
配置Lync Server 2010自动设置位置
查看>>
Centos 5.5 上面安装Open***完整版上篇【服务端配置】
查看>>
TCL微电影节、娱乐营销内容是王道
查看>>
Azure运维系列 6:使用自定义映像创建虚拟机
查看>>
如何对部署完成的Hyper-v 3.0群集进行验证
查看>>