在面臨以下兩種情景時,我們常常討論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.