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

时间:2012-08-19 16:40:32

标签: java tomcat

  

可能重复:
  unsupported major .minor version 51.0

我有eclipse indigo和tomcat 7.0.29。仍然没有Serlvets可以加载! 我没有其他JDK或JRE而不是1.7一个!

  • Compilance level 1.7
  • JAVA_HOME指向JDK 1.7
  • JAVA_JRE指向JRE 1.7
  • 构建路径包含JDK 1.7
  • Java Facet 1.7

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

1 个答案:

答案 0 :(得分:43)

执行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更新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,通常不会选择新版本。