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).
该Unsupported major.minor version 52.0错误表明您有一个Java 8类文件但Java <= 7 JRE.所以你根本没有成功为Tomcat安装Java 8.您可能需要在Tomcat配置中调整某些内容以使其使用Java 8.
如果您碰巧在Windows上将Tomcat作为服务运行,则可能需要通过发出以下命令来更改tomcat使用的JRE:
tomcat7w.exe //ES/<your_service_name>
Run Code Online (Sandbox Code Playgroud)
哪个应该引导您进入此对话框:
确保勾选"使用默认值"或使用正确的"Java虚拟机".