在面临以下两种情景时,我们常常讨论Tomcat和JDK版本的对应关系。
一是:安装哪种版本的JDK,可以使tomcat运行起来;
二是:安装哪种版本的JDK+Tomcat组合,可以让我用某版本JDK编写的网站运行起来。
其实,这两种问题有一个共同的答案:低版本JDK无法运行高版本JDK编译的代码。
tomcat官网(http://tomcat.apache.org/whichversion.html)给出了tomcat和JDK版本的匹配情况:
我安装了tomcat9和JDK1.7,当我启动tomcat时报错(Unsupported major.minor version 52.0):
(52.0是java编码器的内部编号,JDK1.4--48.0,JDK1.5--49.0,JDK1.6--50.0,JDK1.7--51.0,JDK1.8--52.0)
出现这个问题的原因是:本地安装的JDK1.7和tomcat9不兼容,tomcat9需要在1.8版本以上的JDK环境上才能正常运行。另外,下载的Tomcat的RUNNING.txt也有当前版本所需JDK说明:
Apache Tomcat 9.0 requires a Java Standard Edition Runtime Environment (JRE) version 8 or later.