托管在azure上时的java.lang.UnsupportedClassVersionError

时间:2017-11-21 02:22:53

标签: java azure-web-app-service

我读了这样的另一篇文章,虽然他们确实让我去检查某些事情但实际上没有人帮我提出修复......

我的jre低于

knitr::knit2pdf()

我的应用程序在我的IDE中正常运行,但当我的网站在Azure上实时托管时出现此错误

java.lang.UnsupportedClassVersionError:Servlets / IMDbServlet:不支持的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)

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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