Tomcat 7是否支持Java 8?

mkc*_*zyk 11 java jboss tomcat openshift

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)
Run Code Online (Sandbox Code Playgroud)

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

use*_*421 8

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


Jen*_*ens 5

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

tomcat7w.exe //ES/<your_service_name>
Run Code Online (Sandbox Code Playgroud)

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

在此输入图像描述

确保勾选"使用默认值"或使用正确的"Java虚拟机".