关于tomcat:java.lang.UnsupportedClassVersionError:不支持的major.minor版本51.0(无法加载类frontend.listener.StartupListener)

java.lang.UnsupportedClassVersionError: Unsupported major.minor version 51.0 (unable to load class frontend.listener.StartupListener)

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
unsupported major .minor version 51.0

我有EclipseIndigo和Tomcat7.0.29。但仍然不能装载塞尔维亚人!除了1.7版本,我没有其他JDK或JRE!

  • 编译级别1.7
  • Java_Home Point到JDK 1.7
  • Java_jre指向JRE 1.7
  • 生成路径包含JDK 1.7
  • Java小面1.7

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


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

不支持的major.minor版本51.0错误可能意味着:

  • 您的服务器正在运行一个较低的Java版本,然后使用一个编译您的servlet,反之亦然。

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

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

这里是:HTTP://www. Oracle .COM/TeaTeWorks/Java/JavaSe/DeLosis/Realth.HTML(Java平台(JDK)7U25)

分别用于最新版本的JRE和JDK。

编辑:

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

编辑2:如果您的PC上安装了多个JDK,您应该检查ApacheTomcat是否使用了与您编译程序相同的JDK(JRE)。如果在安装Apache之后安装了一个新的JDK,它通常不会选择新版本。