Tomcat 7是否支持Java 8?

在Tomcat的官方页面中,它说Tomcat 7支持Java 8.如果我下载它并使用Java 8运行它就可以了。

但是,在Openshift上是Tomcat 7(JBoss EWS 2.0) 。 在这个网页上,它说EWS 2.0 不支持Java 8 。 如果我将我的Java 8应用程序部署到Openshift(Tomcat 7),它就无法正常工作。

为什么?


我尝试在Openshift上使用Tomcat 7安装Java 8: https ://stackoverflow.com/a/23895161/2442133但它并不适合我。 我有错误:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping': Initialization of bean failed; nested exception is org.springframework.beans.factory.CannotLoadBeanClassException: Error loading class [pl.xxx.controller.HomeController] for bean with name 'homeController' defined in file [/var/lib/openshift/xxx/app- root/runtime/dependencies/jbossews/webapps/web1/WEB- INF/classes/xxx/controller/HomeController.class]: problem with class file or dependent class; nested exception is java.lang.UnsupportedClassVersionError: xxx/controller/HomeController : Unsupported major.minor version 52.0 (unable to load class xxx.controller.HomeController) 

Unsupported major.minor version 52.0表示Java版本是错误的(Java 7 intead Java 8)。

Unsupported major.minor version 52.0错误表明您有一个Java 8类文件但Java <= 7 JRE。 所以你根本没有成功为Tomcat安装Java 8。 您可能需要在Tomcat配置中调整某些内容以使其使用Java 8。

如果您碰巧在Windows上将Tomcat作为服务运行,则可能需要通过发出以下命令来更改tomcat使用的JRE:

 tomcat7w.exe //ES/ 

哪个应该引导您进入此对话框:

在此处输入图像描述

确保勾选“使用默认值”或使用正确的“Java虚拟机”。