【问题标题】:java.lang.UnsupportedClassVersionError: Unsupported major.minor version 51.0 (unable to load class frontend.listener.StartupListener) [duplicate]java.lang.UnsupportedClassVersionError:不支持的major.minor 51.0版(无法加载类frontend.listener.StartupListener)[重复]
【发布时间】:2012-08-15 05:20:54
【问题描述】:

可能重复:
unsupported major .minor version 51.0

我有 eclipse indigo 和 tomcat 7.0.29。仍然无法加载任何 Serlvets! 除了 1.7 之外,我没有其他 JDK 或 JRE!

  • 合规级别 1.7
  • JAVA_HOME 指向 JDK 1.7
  • JAVA_JRE 指向 JRE 1.7
  • 构建路径包含 JDK 1.7
  • Java 方面 1.7

..但仍然不受支持 major.minor 版本 51.0

【问题讨论】:

    标签: java tomcat


    【解决方案1】:

    当您执行java -version 时,您的输出是什么?这会告诉你正在运行的 JVM 是什么版本。

    Unsupported major.minor version 51.0 错误可能意味着:

    • 您的服务器运行的 Java 版本低于用于编译 Servlet 的 Java 版本,反之亦然

    无论哪种方式,卸载所有 JVM 运行时(包括 JDK)并下载最新版本并重新安装。这应该可以解决任何Unsupported major.minor 错误,因为您将拥有最新的 JRE 和 JDK(可能比用于编译 Servlet 的版本更新)

    参见:http://www.java.com/en/download/manual.jsp(7 更新 25)

    这里:http://www.oracle.com/technetwork/java/javase/downloads/index.html(Java 平台 (JDK) 7u25)

    分别为 JRE 和 JDK 的最新版本。

    编辑:

    您的代码很可能是用 Java7 编写的,但也可能是使用 Java7update4 完成的,并且您的系统正在运行 Java7update3。因此,它们实际上都是相同的主要版本,但次要版本不同。只有较大的次要版本向后兼容较低的次要版本。

    编辑 2: 如果你的电脑上安装了多个 jdk。您应该检查 Apache Tomcat 是否使用与您编译程序相同的 (jre)。如果你在安装 apache 后安装了新的 jdk,它通常不会选择新版本。

    【讨论】:

    • cdm.exe 给我:java 版本 "1.7.0-ea" javac 1.7.0-ea
    • 谢谢!我重新安装了 JDK 和 JRE,异常消失了!我怎么看我有哪个 Java7updateXXX?
    • @user753418 与您在 java -version 之前所做的相同,我的显示:java version "1.7.0_06-ea" this Im using Java7 update 6
    • 但在这两种情况下都有“1.7.0-ea”
    • @user753418 你卸载旧的 JRE 和 JDK 了吗?您使用的是什么操作系统?
    猜你喜欢
    • 1970-01-01
    • 2012-06-29
    • 2012-02-17
    • 2014-03-17
    • 2012-10-10
    • 2016-01-10
    • 2013-02-02
    • 2014-01-08
    相关资源
    最近更新 更多