0
Exception in thread "main" java.lang.UnsupportedClassVersionError:
/DataManager has been compiled by a more recent version of the Java 
Runtime (class file version 56.0), this version of the Java Runtime
recognizes class file versions up to 52.0

这是堆栈跟踪:

Stacktrace:] 有根本原因
java.lang.UnsupportedClassVersionError: com/north/webapp/DataManager 已由更新版本的 Java Runtime(类文件版本 56.0)编译,此版本的 Java Runtime 仅识别最高 52.0 的类文件版本(无法加载类 [com.north.webapp.DataManager])
    在 org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2424)
    在 org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:865)
    在 org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1334)
    在 org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1188)
    在 org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:122)
    在 org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:59)
    在 org.apache.jsp.index_jsp._jspService(index_jsp.java:130)
    在 org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    在 javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
    在 org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:476)
    在 org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)
    在 org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)
    在 javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
    在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
    在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    在 org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
    在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
    在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
    在 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:526)
    在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
    在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
    在 org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:678)
    在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
    在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
    在 org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
    在 org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
    在 org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:860)
    在 org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1587)
    在 org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    在 org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    在 java.lang.Thread.run(Thread.java:748)

由于我在尝试编译时遇到错误,我已将我的 jdk 从版本 9 更改为 8

4

1 回答 1

0

版本 56 的 class 文件在 java12 或更高版本上运行。您使用的是 java 1.8。

如果生成这个类文件的源文件在你的控制范围内,你可以尝试用你的 java.util 重新编译它。否则,您必须至少升级到 java12 才能运行它。

于 2020-01-22T23:14:21.993 回答