在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虚拟机".