托管在azure上时java.lang.UnsupportedClassVersionError

托管在azure上时java.lang.UnsupportedClassVersionError,java,azure-web-app-service,Java,Azure Web App Service,我读了另一篇类似这样的帖子,虽然他们确实让我去检查某些东西,但实际上没有人能帮我想出解决办法 我的jre在下面 java version "1.8.0_121" Java(TM) SE Runtime Environment (build 1.8.0_121-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode) 我的应用程序在我的IDE中运行良好,但当我的站点在Azure上实时托管时,我会出现此错误 java

我读了另一篇类似这样的帖子,虽然他们确实让我去检查某些东西,但实际上没有人能帮我想出解决办法

我的jre在下面

java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
我的应用程序在我的IDE中运行良好,但当我的站点在Azure上实时托管时,我会出现此错误

java.lang.UnsupportedClassVersionError:Servlets/IMDbServlet:Unsupported major.minor版本52.0(无法加载类Servlets.IMDbServlet) org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2576) org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:859) org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1308) org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1167) org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:492) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:502) org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1132) org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684) org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1539) org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1495) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
java.lang.Thread.run(Thread.java:744)

检查azure部署中使用的java版本。
您使用的版本与azure部署中使用的版本之间必须存在差异。

运行时Java版本必须与Java字节码(编译时)版本相同或更高。 major.minor版本52.0引用Java 8。所以Azure服务器的Java运行时环境应该早于Java8。
作为修复,您可以检查Azure Java版本并使用相同的Java版本编译源代码。

这意味着代码是为Java 8编译的,但运行它的jre不支持Java 8代码