当前位置: 首页 > 知识库问答 >
问题:

java.lang.UnsupportedClassVersionError:不支持的主要版本。次要版本51.0(无法加载类

佴阳辉
2023-03-14

项目详细信息:使用JavaBridge完成任务的PHP项目。我对这个项目的更新只包含PHP文件

我已经看到了许多线程。我的java编译版本是JDK1.6,在我的服务器上运行的Java版本是:

java version "1.6.0_30"

我对这在我的设备上本地工作感到非常沮丧,但是当我在服务器上运行它失败时,tomacat日志提供了以下内容:

java.lang.UnsupportedClassVersionError: com/nlrt/reportgenerator/ReportGenerator : Unsupported major.minor version 51.0 (unable to load class com.nlrt.reportgenerator.ReportGenerator)
    at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2840)
    at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1160)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1668)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1546)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:270)
    at php.java.bridge.Util.classForName(Util.java:1518)
    at php.java.bridge.JavaBridge.CreateObject(JavaBridge.java:445)
    at php.java.bridge.Request.handleRequest(Request.java:458)
    at php.java.bridge.Request.handleOneRequest(Request.java:510)
    at php.java.servlet.PhpJavaServlet.handleLocalConnection(PhpJavaServlet.java:202)
    at php.java.servlet.PhpJavaServlet.handlePut(PhpJavaServlet.java:250)
    at php.java.servlet.PhpJavaServlet.doPut(PhpJavaServlet.java:261)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:644)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at php.java.servlet.PhpCGIFilter.doFilter(PhpCGIFilter.java:126)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:701)

共有3个答案

仇睿
2023-03-14

我的一个班级档案有这个问题。

我从中了解到的是,我使用java 7构建war文件,而tomact使用java 6。

我只是换了Java7:)开始为我工作。

卢涵畅
2023-03-14

已通过使用已部署和备份的原始下载的 JavaBridge 版本解决。不确定我在本地下载的版本是否是J2SE7,但这个错误还是消失了。:)

备份总是救命稻草。

张淳
2023-03-14

这与此线程类似:如何修复java.lang.UnsupportedClassVersionError:Unsupported major。次要版本

我要做的是检查并查看是否所有的java文件都是用相同的版本编译的。版本51,根据该线程是J2SE 7。你需要确保没有任何东西依赖于J2SE 7号。有可能PHP-Java桥是用J2SE 7编译的,其余的是在JDK 1.6上。

 类似资料:
  • 在Google App Engine的日志中,我major.minor版本51.0不受支持。我知道Stackoverflow上有很多关于这个问题的帖子,但这些帖子大多来自2012年,当时App Engine还在JRE 6上。现在App Engine是在JRE 7上运行的1.8.2版。我使用Maven和IntelliJ来开发我的应用程序,两者的目标JDK都设置为1.7(实际上IntelliJ只是选择

  • 当我试图编译我的GWT应用程序时,我得到的异常值低于异常值。知道吗?提前道谢。

  • 问题内容: 我正在尝试构建一个应用程序,但是它给出了一些错误。我的JDK版本如下: 这是我的错误日志: 问题答案: 发生这种情况是因为在编译时JDK较高,而在运行时JDK较低。 以下是版本列表:

  • 我试图在solaris虚拟机上安装Liquibase 3.6.1。< br >我的JRE是1.6.0_151-b10。< br >我的Liquibase.properties文件配置如下: 例如,当调用“./液基--版本”时,我收到一个错误。 线程“Main”Java . lang . unsupportedclassversionerror:liqui base/integration/comm

  • 我是hadoop的新手,正在尝试运行WordCount教程。我得到以下错误:不支持的专业。次要版本51.0。我看到一些帖子也有同样的错误,我明白原因是我用一个JDK编译我的java,然后用另一个JDK运行它。我已经知道我用jdk 1.7编译它了,但我怎么知道是哪个版本运行它的呢? 先谢了。

  • 我有一个Jenkins服务器,将JDK&JRE6和7安装在一起。 除一个项目依赖于1.7外,所有项目都是基于1.6构建的。 多谢,阿塔纳斯